最近做了一个项目需要上传文件的功能!在写的过程中出现了一点问题!
先贴我的代码
前台
type="file" class="form-control" placeholder="点击按钮选择图片" id="pictureUpload" name="file" autocomplete="off">
后台
@RequestMapping(value = "/addArticle.do",method = RequestMethod.POST,produces = "text/plain;charset=UTF-8") public String addArticle(@RequestParam(required = false,value = "file")MultipartFile file,HttpServletRequest request,Article article){ String contentType = request.getContentType(); String path = request.getSession().getServletContext() + File.separator + "upload";//考虑跨平台用separator return "add-article"; }
咋一眼看上去没有任何问题啊
可以这个异常老是出现! org.springframework.web.multipart.MultipartException: The current request is not a multipart request
在百度了无数个解决方法之后还是一筹莫展,在看了 这篇源码分析之后,http://www.cnblogs.com/dongying/p/4388464.html
突发奇想,就重新写了一个jsp,做了测试,发现还真是成功了!
过程就不再说了,下面直接说解决方法
原因:
原来,springmvc 接收上传文件时,会根据form 的 mime 格式 即 enctype="multipart/form-data" 来判断是不是上传文件请求。这里有一个坑,上传文件的名称 这里的name 不能和 后台接收的属性重名,否则就会报错!