@GetMapping("/download")
public ResponseEntity<byte[]> download(HttpServletRequest request) throws Exception {
ClassPathResource resource = new ClassPathResource("文件");
byte[] body = FileUtil.readFile(resource.getAbsolutePath());
HttpHeaders headers = new HttpHeaders();
String fileName = resource.getName();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 判断浏览器类型,火狐的浏览器编码为 iso-8859-1
if (request.getHeader("USER-AGENT").toLowerCase().contains("firefox")) {
fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
headers.setContentDispositionFormData("attachment", fileName);
} else {
// 其他浏览器类型可以用一下代码方式解决中文文件名乱码问题
headers.setContentDispositionFormData("attachment", URLEncoder.encode(fileName, "UTF-8"));
}
ResponseEnti
下载文件java
于 2022-09-27 14:12:47 首次发布