Встречается на собеседованиях • сегодня
Можно ли вернуть файл в Spring MVC
Да, можно вернуть файл в Spring MVC с помощью `ResponseEntity` или `@ResponseBody`. Вот пример с `ResponseEntity`:
```java
@GetMapping("/download")
public ResponseEntity downloadFile() throws IOException {
File file = new File("path/to/file.txt");
InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + file.getName() + "\"")
.contentLength(file.length())
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.body(resource);
}
```
Ключевые моменты:
1. Используем `ResponseEntity ` для гибкости в настройке ответа
2. Устанавливаем заголовок `Content-Disposition` с параметром `attachment` для скачивания
3. Указываем правильный `Content-Type` (обычно `APPLICATION_OCTET_STREAM`)
4. Можно добавить `contentLength` для прогресс-бара в браузере
Альтернативно можно использовать `@ResponseBody` с возвратом `Resource`, но с меньшей гибкостью.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы