需求:本地浏览器从服务器下载文件
环境:IDEA2023.2.2
@GetMapping("/download")
public void downloadFile(HttpServletResponse response) throws IOException {
// 指定要下载的文件路径
String filePath = "D:\\GY_srm\\man_upload\\257ea5f4-32c6-4a76-8c28-99d82619a87b.rar";
File file = new File(filePath);
// 设置响应头信息
String filename = file.getName();
// 文件转成字节数组
byte[] fileByte = Files.readAllBytes(file.toPath());
// 设置response的Header
response.setCharacterEncoding("UTF-8");
// 指定下载文件名(attachment-以下载方式保存到本地,inline-在线预览)
response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\"");
// 告知浏览器文件的大小
response.addHeader("Content-Length", "" + file.length());
// 内容类型为通用类型,表示二进制数据流
response.setContentType("application/octet-stream");
OutputStream os = response.getOutputStream();
os.write(fileByte);
os.flush();
}
目标是在浏览器下载,但是他为什么给我返回了一个字符串?有没有解决办法