将文件流保存到本地,解决post请求下载问题

需求:将文件存在服务器或本地,进行下载

  Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(null, filename), beanList, list);
            String lastPath = tempFilePath + filename;
            File file = new File(lastPath);//保存文件);

            if (!file.getParentFile().exists()) {
                file.getParentFile().mkdirs(); //创建文件夹
                try {
                    file.createNewFile();//创建文件
                } catch (IOException e) {
                    log.error("【incomeStoreExport】{}", e);
                    jsonResult.setStatus(JsonResult.error);
                    jsonResult.setMessage("系统异常 请稍后重试" + e);
                    return jsonResult;
                }
            } else {//如果有文件夹就直接创建文件
                file.createNewFile();
            }

            fout = new FileOutputStream(file);
            workbook.write(fout);

            jsonResult.setStatus(JsonResult.success);
            jsonResult.setResult(dmapiDomain + lastPath.replace(fileLocation, ""));
            jsonResult.setMessage("导出数据成功!");
        } catch (Exception e) {
            log.error("salaryexport/{}", e);
            jsonResult.setStatus(JsonResult.error);
            jsonResult.setMessage("系统异常 请稍后重试" + e);
        } finally {
            try {
                fout.close();
            } catch (IOException e) {
                log.error("salaryexport-流关闭异常/{}", e);
                jsonResult.setStatus(JsonResult.error);
                jsonResult.setMessage("系统异常 请稍后重试" + e);
            }

你可能感兴趣的:(Java)