Загрузка файла в приложении Spring MVC

Чтобы загрузить файл в приложение Spring MVC, вы можете использовать несколько методов. Вот некоторые из наиболее распространенных подходов:

  1. Использование стандартного API сервлетов. Вы можете использовать объект HttpServletRequestстандартного API сервлетов для обработки загрузки файлов. В методе контроллера Spring MVC вы можете определить параметр типа MultipartFileдля получения загруженного файла. Например:
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
    // Process the uploaded file
    // ...
    return "redirect:/success";
}
  1. Использование Apache Commons FileUpload: Apache Commons FileUpload — это популярная библиотека, которая упрощает обработку загрузки файлов. Вы можете включить необходимые зависимости в свой проект и использовать класс CommonsMultipartResolverдля обработки загрузки файлов. Вот пример:
@PostMapping("/upload")
public String handleFileUpload(HttpServletRequest request) throws Exception {
    CommonsMultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext());
    if (resolver.isMultipart(request)) {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile file = multipartRequest.getFile("file");
        // Process the uploaded file
        // ...
        return "redirect:/success";
    }
// Handle non-multipart request
    // ...
}
  1. Использование Spring MultipartResolver: Spring предоставляет собственный интерфейс MultipartResolverдля обработки загрузки файлов. Вы можете настроить его в файле конфигурации Spring и использовать в методе контроллера. Вот пример:
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
    // Process the uploaded file
    // ...
    return "redirect:/success";
}