您的位置:首页 > 编程语言 > Java开发

在使用springmvc上传图片 The current request is not a multipart request 错误

2017-05-05 00:00 597 查看
错误:

org.springframework.web.multipart.MultipartException: The current request is not a multipart request
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.assertIsMultipartRequest(RequestParamMethodArgumentResolver.java:185)
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:150)
at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:86)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:77)

Controller:

@RequestMapping("/uploadImg")
@ResponseBody
public String filesUpload(@RequestParam(value = "imgFiles",required = false) MultipartFile[] files,String faultReason,Long faultId,String type,Integer stationId,Integer userId);

原因:

Spring在处理请求映射的时候,如果发现某个请求参数是MultipartFile类型的,会判断请求是否是MultipartHttpServletRequest。

修改后:

@RequestMapping("/uploadImg")
@ResponseBody
public String filesUpload(/*@RequestParam(value = "imgFiles",required = false) MultipartFile[] files,*/String faultReason,Long faultId,String type,Integer stationId,Integer userId,
HttpServletRequest request){

//...
MultipartFile[] files=null;
if(request instanceof MultipartHttpServletRequest){//注意这里
List<MultipartFile> fls=((MultipartHttpServletRequest)request).getFiles("imgFiles");
if(fls!=null && fls.size()>0){
files=new MultipartFile[fls.size()];
fls.toArray(files);
}
}
//...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐