2015-08-17 3 views
0

Я пытаюсь загрузить несколько файлов с использованием атрибута html5 multiple. Это link дает мне хорошее начало. Тем не менее, я столкнулся с проблемой, что я не могу читать multipartFile в своем контроллере.загружать несколько файлов с атрибутом html5 multiple - spring mvc

Вот мой Pojo класс

public class FileProduct { 

    private String name; 
    private List<MultipartFile> images; 

} 

Мой контроллер

public String processNewListing(Model model 
          , @ModelAttribute FileProduct product 
          , HttpServletRequest request 
      ) { 
     List<MultipartFile> files = product.getImages(); 
     List<String> fileNames = new ArrayList<String>(); 
     log.info("Files legnth: " + files.size()); 
     log.info("name: " + product.getName()); 
} 

И это, если моя форма:

<form:form commandName="product" action="${newListingForm }" method="POST" enctype="multipart/form-data"> 
    <form:input path="name" type="text"/> 
    <form:input path="images" type="file" multiple=""/> 
    <input type="submit"> 

</form:form> 

Так я в состоянии напечатать "имя" в мой контроллер, но мои «файлы» всегда имеют размер 1, независимо от того, я выбрал какой-либо файл или нет. Я следил за предложением в ссылке, чтобы включить common-fileupload и common-io, но проблема не устранена.

+0

попробовать 'множественным = ""' 'изменение multiple' –

+0

Я попытался изменить его на несколько или несколько = «несколько», но он не работает – user10313

ответ

0

в Jsp использования следующих

<form ation="your/path" enctype="multipart/form-data" method="POST"> 

в использовании контроллера следующие

import org.springframework.web.multipart.MultipartFile; 
import org.springframework.web.multipart.MultipartHttpServletRequest; 

public String yourMethod(MultipartHttpServletRequest request){ 

} 

это должно решить вашу проблему

Смежные вопросы