Как передать файл размером более 100 МБ с помощью пружины - PullRequest
0 голосов
/ 16 июня 2010

Как передать файл размером более 100 МБ с помощью Spring MVC.

Я прошел через пост о том, как обрабатывать 100 МБ загрузок для пользователей , который говорит об использовании ftp api. Но хочу узнать альтернативу с весны.

1 Ответ

0 голосов
/ 29 апреля 2014

Документацию по поддержке Spring для многоэтапной загрузки файлов можно найти, выполнив простой поиск, например, документы, относящиеся к поддержке Spring 3.2.8 для многокомпонентных файлов, можно найти здесь

Вам потребуется определить многочастный преобразователь для проекта, см. Пример ниже, чтобы иметь возможность обрабатывать многокомпонентные файлы.

<bean id="multipartResolver"
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

  <!-- one of the properties available; the maximum file size in bytes -->
  <property name="maxUploadSize" value="100000"/>
</bean>

После того, как вы настроили свое приложение для поддержки MultipartFile, вам еще нужно будет сделать несколько вещей (например, убедиться, что вы отправляете свои формы как multipart формы, например).

<form method="post" action="/form" enctype="multipart/form-data">
  <input type="file" name="file"/>
  ...
</form>

После отправки формы вы сможете обработать ее в контроллере, аналогично примеру, приведенному в приведенной выше документации:

@RequestMapping(value = "/form", method = RequestMethod.POST)
public String handleFormUpload(@RequestParam("name") String name,
    @RequestParam("file") MultipartFile file) {

    if (!file.isEmpty()) {
        byte[] bytes = file.getBytes();
        // store the bytes somewhere
       return "redirect:uploadSuccess";
   } else {
       return "redirect:uploadFailure";
   }
}

Здесь вы должны быть в состоянии выполнять операции на уровне байтов и на уровне потоков, чтобы управлять памятью, используемой для загрузки больших файлов, и всем остальным, что вам нужно сделать, поскольку это касается вашей бизнес-логики.

Если вы объедините это с интерфейсным инструментом, таким как fileUpload от BlueImp (плагин jQuery), вы сможете создать приятный интерфейс, который отслеживает ход вашей загрузки и дает возможность обратной связи с вашим пользователем. пользователи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...