这段时间这在学习springmvc框架的我,在springmvc上传文件中碰到了阻碍,原因是浏览器一致显示的都是400错误。索性在网上翻阅大量资料后。这一难题得到了解决。
以下是我认为在学习中容易发生的错误。
1.jsp页面提交表单的form中要有enctype="multipart/form-data"属性值并且提交方式一定要是post
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTU1NTg4OS8yMDE5MDgvMTU1NTg4OS0yMDE5MDgzMDEwNDU1MjAwMi0xMDEyMjcyMjQ1LnBuZw==.png)
2.在springmvc的配置文件中需要配置CommonsMultipartResolver类,并且id一定要是multipartResolver,可以在其中注入图片上传最大限制等属性
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTU1NTg4OS8yMDE5MDgvMTU1NTg4OS0yMDE5MDgzMDEwNDkxOTExNy0xODg1MDcyMDQyLnBuZw==.png)
3.选择上传文件的input标签中name属性不能与其他接收其他input标签数据的实体类中的对应属性的属性名一致
标签中:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTU1NTg4OS8yMDE5MDgvMTU1NTg4OS0yMDE5MDgzMDEwNTU1NjE1Mi0xMTIyNzI3OTQ1LnBuZw==.png)
实体类中:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTU1NTg4OS8yMDE5MDgvMTU1NTg4OS0yMDE5MDgzMDEwNTgxNDkxMi0xMjk5OTE0MzYwLnBuZw==.png)
4.选择上传文件的input标签中name属性一定要与contraller层中对应的方法中的MultipartFile类型的形参名一致(实际可以不用一致,但需要更为繁琐的步骤去建立关系)
5.要导入相应的jar包
commons-upload.jar 、 commons-io.jar
6.可能表单中含有日期类等,表单提交的数据格式与自定义的日期转换器中定义的格式不匹配或者没有日期转换器
以上是我对springmvc上传文件中做出的一些经验总结,如有不妥之处,望广大网友批评指正。
|