Spring boot中下载文件名称中文变___________下划线了,请问如何处理?
@GetMapping("/download")@ResponseBodypublic 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()));}
|
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
//使得你上面的代码具有以下作用response.setHeader("Content-Disposition","attachment;filename="+URLEncoder.encode("壁纸.jpg","UTF-8"));response.setHeader("Context-Type","application/xmsdownload"); |
|
|
|
|