文章目录
SpringMVC原生方式实现文件下载
- 设置好文件编码格式,文件类型(二进制文件),响应头(打开方式,文件名)
- 把文件加载到字节输入流,从字节输入流转存到相应输出流
ServletOutputStream
即可。
举例,一个方法搞定
@RequestMapping("/downloadFile")
public void downloadFile(HttpServletRequest request,HttpServletResponse response) throws Exception{
System.out.println("文件下载...");
File file = new File("d:/tools/t1.jpg");
//设置响应头和客户端保存文件名
response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName=" + file.getName());
ServletOutputStream out = response.getOutputStream();
InputStream in = new FileInputStream(file);
byte[] b = new byte[1024];
int num = 0;
while((num=in.read(b))!= -1){
out.write(b, 0, num);
}
in.close();
out.flush();
out.close();
}
总结:文件到输入流转存到输出流,进行相关设置,即可实现文件下载(对客户端而言)。
项目打包 提取码:kqyh
环境:eclipse