文件下载IOUtils

	@Value("${FILE_PATH }")
	private String FILE_PATH;

    /**
     * 下载导入模板
     *
     * @param response
     * @param request
     */
    @RequestMapping("specialDownloadImportTemplate.do")
    @ResponseBody
    public void specialDownloadImportTemplate(HttpServletResponse response, HttpServletRequest request) {
    
    
        FileInputStream inputStream;
        OutputStream outputStream;
        try {
    
    
            UserInfoVO user = UserHelper.getUser(request);
            Assert.notNull(user, "未获取到登录用户信息");
            String importType = request.getParameter("importType");
            log.info("下载导入模板 importType:{}", importType);
            if (StringUtils.isBlank(importType)) {
    
    
                return;
            }
            //下载的模板名称
            String modelName = "0".equals(importType) ? "专项考核导入模板-按组织.xlsm" : "专项考核导入模板-按层级.xlsm";
            //设置要下载的文件的名称
            response.setHeader("Content-disposition", "attachment;fileName=" + new String(modelName.getBytes("GBK"), "ISO8859-1"));
            //通知客户端文件的MIME类型
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setContentType("application/x-msdownload");
            //获取文件的路径
            modelName = "0".equals(importType) ? "SpecialAssessmentOrgTemplate.xlsm" : "SpecialAssessmentLevelTemplate.xlsm";
            //文件的路径
            String filePath = FILE_PATH + modelName;
            log.info("下载导入模板 filePath:{}", filePath);
            inputStream = new FileInputStream(new File(filePath));
            outputStream = response.getOutputStream();
            IOUtils.copy(inputStream, outputStream);
        } catch (Exception e) {
    
    
            log.error("下载导入模板 error : " + e.getMessage(), e);
        } finally {
    
    
            IOUtils.closeQuietly(inputStream);
            IOUtils.closeQuietly(outputStream);
        }
    }

猜你喜欢

转载自blog.csdn.net/chat_bot/article/details/126435979