Spring MVC + Bootstrap文件上传

时间:2014-11-27 20:39:35

标签: java spring twitter-bootstrap jsp spring-mvc

集成Spring MVC和Bootstrap后无法上传文件。 此Jsp页面提供输入字段和文件上载字段:

<form:form  id="send" action="newEvent.html" method="post" commandName="event" enctype="multipart/form-data">
   <div class="form-group">
      <form:label for="inputName" path="eventName">Event name</form:label>
      <form:input type="text" class="form-control" id="inputName" path="eventName"/>
   </div>
   <div class="form-group">
      <form:label path= "image" for="inputImage">Image</form:label>
      <form:input path= "image" class="uploadImage" id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();" />
   </div>
...........

将Enctype设置为multipart / form-data,当我将它与Bootsrap集成时,您可以在Post Payload中看到这样的帖子数据,我的控制器不支持这样的语法:

  

------ WebKitFormBoundaryPw1DcA79r6nvj3cl       内容处理:表格数据;名称=&#34; eventName的&#34;

     

------ WebKitFormBoundaryPw1DcA79r6nvj3cl Content-Disposition:form-data;命名=&#34;图像&#34 ;;文件名=&#34;&#34;内容类型:   应用/八位字节流

如果没有multipart / form-data,它会默认发布结果字符串。但它不支持发送文件。解决这个问题的最佳方法是什么?控制器代码如下。它在集成之前有效,因为它是常规的Post结果。

@RequestMapping(value = "newEvent.html", method = RequestMethod.POST)
    public String processRegistration(@ModelAttribute("event") Event event,
                                      Principal principal, Map<String, Object> model,
                                      @RequestParam(value = "file", required = false) MultipartFile file)
                                      throws IOException {

Spring Bootstrap showcase,有两个独立的jsp页面和控制器:一个处理文件上传和另一个弹簧输入表单。

Spring xml中的多部分配置:

  <bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
       <!-- the maximum file size in bytes -->
      <property name="maxUploadSize" value="10000" />
    </bean>

0 个答案:

没有答案