背景
有时在实际中,会有下载的场景,或者是存在要动态生成一个文件,然后提供下载,如生成表格导出,导出打印等功能
主要思路
使用response中的outputstream来进行文件操作,实现下载
BufferedOutputStream clientout = new BufferedOutputStream(response.getOutputStream());
对输出流操作完成后,进行刷新,关闭,便可以实现文件下载
具体实现
静态文件
在电脑目录下存在一个文件(以图片为示例),获取它的路径
String path = "C:/Users/Public/Pictures/Sample Pictures/iii.jpg";
或者在工程目录下存在一个文件(以图片为示例)
文件存放在WebContent/test文件夹下,名称为11.jpg
String path = getServletContext().getRealPath("/test/11.jpg");
获取输入流
//获取缓冲输入流
BufferedInputStream in = new BufferedInputStream(new FileInputStream(path));
//数据存储到数组中
byte[] buffer = new byte[in.available()];
in.