@GetMapping("/files/{filename:.+}") | |
@ResponseBody | |
public ResponseEntity<Resource> serveFile(@PathVariable String filename) { | |
Resource file = storageService.loadAsResource(filename); | |
String[] strArr = filename.split("\\."); | |
String fileNamePrefix = strArr[0]; | |
String fileNameSuffix = strArr[1]; | |
String finalFileName = null; | |
try { | |
finalFileName = URLEncoder.encode(fileNamePrefix,"UTF-8")+"."+fileNameSuffix; | |
}catch (UnsupportedEncodingException e){ | |
log.info("文件名字转换异常"); | |
e.printStackTrace(); | |
} | |
return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, | |
"attachment; filename=\"" + finalFileName + "\"").body(file); | |
} |
参考:https://yq.aliyun.com/articles/38945