//向浏览器发送二进制格式的附件
@GetMapping("/download")
public void download(HttpServletResponse response) throws IOException {
/* 第一种
File file = new File("E:\\Study\\java\\reStudayCode\\spring-demo\\src\\main\\resources\\1.jpg");
if (!file.exists()){
response.setCharacterEncoding("UTF-8");
response.getWriter().write("文件不存在");
}
try (FileInputStream inputStream = new FileInputStream(file);
ServletOutputStream os = response.getOutputStream();){
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+file.getName());
os.write(inputStream.readAllBytes());
}*/
//第二种,文件位置在resources文件夹下
try (InputStream resource = this.getClass().getClassLoader().getResourceAsStream("2.jpg");
ServletOutputStream os = response.getOutputStream();){
if (resource==null){
response.setCharacterEncoding("UTF-8");
response.getWriter().write("文件不存在");
}
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename="+"1.jpg");
os.write(resource.readAllBytes());
}
}
区别就是他们的文件路径不一样;