Что является наиболее подходящим и стандартным способом установки Content-Disposition=attachment
и filename=xyz.zip
с использованием пружины 3 FileSystemResource
?Как установить «Content-Disposition» и «Filename» при использовании 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);
}
Хотя файл почтовый файл, чтобы браузер всегда загружает файл, но я хотел бы явно указать файл как вложение, а также предоставить имя файла, которое имеет не имеет никакого отношения к фактическому имени файла.
Возможно, у вас возникнут обходные пути для этой проблемы, но я хотел бы знать правильный вес и FileSystemResource
способ достижения этой цели.
P.S. Файл, который используется здесь, является временным файлом, помеченным для удаления, когда существует JVM.
Но обратите внимание, что это нарушит, если имя файла содержит не «маркеров» символы, такие как пробелы, не-ASCII, и некоторые разделители. –
short answer 'response.setHeader (« Content-Disposition »,« attachment; filename = »+ YOUR_FILE_NAME);' –
Избегайте ответов только на код. Предоставьте некоторые пояснения к фрагменту! – Manu343726