java实现指定文件的下载

话不多说,直接上代码!

@ResponseBody

@RequestMapping(value="/newDownLoadExcel",method = RequestMethod.POST)

public void getApplicationTemplate(HttpServletRequest req, HttpServletResponse res) {

    try {

        //获取要下载的模板名称

        String fileName = "execlTemplate.xlsx";

        //设置要下载的文件的名称

        res.setHeader("Content-disposition", "attachment;fileName=" + fileName);

        //通知客服文件的MIME类型

        res.setContentType("application/vnd.ms-excel;charset=UTF-8");

        //获取文件的路径

        String filePath = getClass().getResource("/excel/" + fileName).getPath();

        FileInputStream input = new FileInputStream(filePath);

        OutputStream out = res.getOutputStream();

        byte[] b = new byte[2048];

        int len;

        while ((len = input.read(b)) != -1) {

            out.write(b, 0, len);

        }

        //修正 Excel在“xxx.xlsx”中发现不可读取的内容。是否恢复此工作薄的内容?如果信任此工作簿的来源,请点击"是"

        res.setHeader("Content-Length", String.valueOf(input.getChannel().size()));

        input.close();

    } catch (Exception ex) {

        log.error("getApplicationTemplate :", ex);

    }

}

 

 

你可能感兴趣的:(java,模板,下载)