[英]Spring4 MVC multiparts
我正在使用Spring4 MVC並嘗試上傳文件以及其他一些輸入字段。
我在spring xml和jackson轉換器中添加了多部分解析器
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="maxUploadSize" value="250000"/>
<beans:property name="defaultEncoding" value="utf8" />
</beans:bean>
<beans:bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<beans:property name="messageConverters" >
<beans:list>
<beans:ref bean="jacksonMessageConverter" />
</beans:list>
</beans:property>
</beans:bean>
在我的表單中,我已將其聲明為enctype="multipart/form-data"
,下面是我的ajax調用
var oemManuals = new FormData();
oemManuals.append("name",$( "#name" ).val());
oemManuals.append("description",$( "#description" ).val());
if($('#url').val()){
oemManuals.append( 'url', $( '#url' )[0].files[0] );
}
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath }/uploadManuals",
data: oemManuals,
processData: false,
contentType: false,
cache: false,
dataType: "json",
success: function(data){
在我的控制器中,我嘗試通過@RequestParam
和request,但獲得required paramerter name is null
。 雖然我看到參數存在
@RequestMapping(value="/uploadManuals", method = RequestMethod.POST)
public @ResponseBody List<OEMManuals> uploadManuals(HttpServletRequest request,
@RequestParam MultipartFile url,
HttpSession session) throws IOException{
所有值均為空。
有人可以建議我是否缺少什么。
謝謝
您已在控制器中指定了參數“ url”。
@RequestParam MultipartFile url
因此,在ajax調用中必須有一個名為url的參數,如下所示
url: "${pageContext.request.contextPath }/uploadManuals?url=value",
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.