为了账号安全,请及时绑定邮箱和手机立即绑定

Spring boot中下载文件名称中文变___________下划线了,请问如何处理?

Spring boot中下载文件名称中文变___________下划线了,请问如何处理?

泥巴先生 2018-03-23 16:56:35
@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条经验 获得超56个赞

//使得你上面的代码具有以下作用
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("壁纸.jpg", "UTF-8")); 
response.setHeader("Context-Type", "application/xmsdownload");


查看完整回答
1 反对 回复 2018-04-08
  • 1 回答
  • 0 关注
  • 7079 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信