Документацию по поддержке 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), вы сможете создать приятный интерфейс, который отслеживает ход вашей загрузки и дает возможность обратной связи с вашим пользователем. пользователи.