Назад к вопросам
Middle
7
Как обработать загрузку файла (картинки) через HTTP-запрос в Spring MVC и сохранить на диск?
Компании, где спрашивали
Финансовые платформы
Ответ от нейросети
sobes.tech AI
Для обработки загрузки файла (например, картинки) в Spring MVC можно использовать аннотацию @RequestParam с типом MultipartFile. Затем файл можно сохранить на диск с помощью методов этого объекта.
Пример контроллера:
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return "Файл не выбран";
}
try {
// Путь для сохранения файла
String uploadDir = "/path/to/save/";
File dest = new File(uploadDir + file.getOriginalFilename());
file.transferTo(dest); // сохраняем файл на диск
return "Файл успешно загружен: " + dest.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
return "Ошибка при сохранении файла";
}
}
}
Важно:
- В конфигурации Spring MVC должен быть включен
MultipartResolver. - Путь для сохранения должен существовать и иметь права на запись.
- Можно добавить проверку типа и размера файла для безопасности.