Sobes.tech
Назад к вопросам
Junior — Middle
65

Возможна ли отправка файла в ответ на запрос в приложении, использующем Spring MVC?

Ответ от нейросети

sobes.tech AI

Да, в Spring MVC можно отправить файл в ответ на запрос. Для этого обычно используют ResponseEntity с телом в виде Resource или InputStreamResource, а также устанавливают соответствующие заголовки, например, Content-Type и Content-Disposition.

Пример контроллера, который возвращает файл:

@GetMapping("/download")
public ResponseEntity<Resource> downloadFile() throws IOException {
    Path filePath = Paths.get("path/to/file.txt");
    Resource resource = new UrlResource(filePath.toUri());

    return ResponseEntity.ok()
        .contentType(MediaType.APPLICATION_OCTET_STREAM)
        .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename= file.txt")
        .body(resource);
}

Такой подход позволяет клиенту получить файл как вложение для скачивания.