如何使用文件系统资源强制文件下载文件时设置“内容处置”和“文件名”?
2022-08-31 20:23:24
设置和使用Spring 3的最合适,最标准的方法是什么?Content-Disposition=attachment
filename=xyz.zip
FileSystemResource
操作如下所示:
@ResponseBody
@RequestMapping(value = "/action/{abcd}/{efgh}", method = RequestMethod.GET, produces = "application/zip")
@PreAuthorize("@authorizationService.authorizeMethod()")
public FileSystemResource doAction(@PathVariable String abcd, @PathVariable String efgh) {
File zipFile = service.getFile(abcd, efgh);
return new FileSystemResource(zipFile);
}
虽然文件是一个zip文件,所以浏览器总是下载文件,但我想明确提到该文件作为附件,并提供一个与文件实际名称无关的文件名。
这个问题可能有解决方法,但我想知道正确的Spring和实现这一目标的方法。FileSystemResource
附言:此处使用的文件是临时文件,在 JVM 存在时标记为删除。