一、文件下载
1、访问资源时响应头如果没有设置Context-Disposition,浏览器默认按照 inline值进行处理
1.1 inline (浏览器自带功能,能显示就显示,不能显示就下载)
2、只需要修改响应头中 Context-Disposition="attachment;filename=文件名"
2.1 attachment 下载,以附件形式下载
2.2 filename=值 就是下载时显示的下载文件名
3、
3.1、导入Apache的两个jar
3.2、在jsp中添加超链接,设置要下载的文件
3.2.1 在springmvc中放行 静态资源的files文件夹
<body> <a href="download?filsname=a.txt">下载</a> </body>
3.3、编写控制器方法
@Controller public class DemoController { @RequestMapping("/download") public void download(String filsname,HttpServletResponse resp,HttpServletRequest req) throws IOException{ 设置响应流中文件进行下载 resp.setHeader("Content-Disposition","attachment;filename="+filsname );
把二进制流放入响应体中 ServletOutputStream os = resp.getOutputStream(); String path = req.getServletContext().getRealPath("fils"); 下载文件的文件夹 File file = new File(path,filsname); byte[] byteArray = FileUtils.readFileToByteArray(file); Apache的工具类 os.write(byteArray); os.flush(); os.close(); } }
好好学习,天天向上。
努力工作,给自己的和家人一个满意的答案。。。。