@GetMapping("/download")
@ResponseBody
public?ResponseEntity?serveFile(@RequestParam?String?filename)?throws?IOException{
????filename=new?String(filename.getBytes(),"utf-8");//有沒有這句話都不行
????Resource?file=new?FileSystemResource("D:\\workspace\\idea_me\\demo\\upload-dir"+File.separator+?filename);
????HttpHeaders?headers?=?new?HttpHeaders();
????headers.add("Cache-Control",?"no-cache,?no-store,?must-revalidate");
????headers.add("Content-Disposition",?String.format("attachment;?filename=\"%s\"",?file.getFilename()));
????headers.add("Pragma",?"no-cache");
????headers.add("Expires",?"0");
????return?ResponseEntity
????????????.ok()
????????????.headers(headers)
????????????.contentLength(file.contentLength())
????????????.contentType(MediaType.parseMediaType("application/octet-stream;charset=utf-8"))//這里也是都不行
????????????.body(new?InputStreamResource(file.getInputStream()));
}
1 回答
已采納

HansonQ
TA貢獻223條經(jīng)驗 獲得超56個贊
//使得你上面的代碼具有以下作用 response.setHeader("Content-Disposition",?"attachment;filename="?+?URLEncoder.encode("壁紙.jpg",?"UTF-8"));? response.setHeader("Context-Type",?"application/xmsdownload");
添加回答
舉報
0/150
提交
取消