集成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>