Назад к вопросам
Junior — Middle
63
Как осуществить отправку файла клиенту в приложении, использующем Spring MVC?
Ответ от нейросети
sobes.tech AI
В Spring MVC для отправки файла клиенту обычно используют объект ResponseEntity с указанием типа содержимого и потока файла.
Пример контроллера, который отправляет файл:
@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() throws IOException {
Path path = Paths.get("path/to/file.pdf");
Resource resource = new UrlResource(path.toUri());
if (!resource.exists()) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_PDF)
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=example.pdf")
.body(resource);
}
Здесь:
Resourceпредставляет файл.- Заголовок
Content-Dispositionуказывает браузеру, что файл нужно скачать с указанным именем. contentTypeзадаёт MIME-тип файла.
Таким образом, клиент получит файл в ответ на HTTP-запрос.