//这是controller的一个方法
@GetMapping("/download")
@ResponseBody
public void download(HttpServletRequest req,HttpServletResponse res) throws Exception{
//文件在服务器的保存路径(正常开发时,文件路径是保存在数据库中的)
File file = new File("C:\\Users\\admin\\Pictures\\test.xlsx");
//获取文件的流
FileInputStream in = new FileInputStream(file);
res.reset();
//此处下载的是xlsx格式的文件
res.setHeader("content-disposition",
"attachment;fileName=" + new String("文件名".getBytes(), "iso8859-1") + ".xlsx");
res.setContentType("application/msexcel");
res.setCharacterEncoding("utf-8");
int count;
byte[] by = new byte[1024];
//通过response对象回去outputStream流
ServletOutputStream output = res.getOutputStream();
while ((count = in.read(by)) != -1) {
//将缓存区的数据输出到浏览器
output.write(by, 0, count);
}
in.close();
output.flush();
output.close();
}
使用response从服务器下载文件
最新推荐文章于 2024-03-22 08:17:54 发布