Каков наиболее подходящий и стандартный способ установки Content-Disposition=attachment
и filename=xyz.zip
с помощью Spring 3 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
для достижения этой цели.
P.S. Файл, который используется здесь, является временным файлом, помеченным для удаления, когда существует JVM.