Sobes.tech
Назад к вопросам
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.
  • Путь для сохранения должен существовать и иметь права на запись.
  • Можно добавить проверку типа и размера файла для безопасности.