Spring 4.1.7 MVC @RequestPart 问题
2016-01-23 16:25
393 查看
今天在spring 4.1.7 中尝试 multipart/form-data 的方式上传文本和文件混合数据,服务器老报错,说请求中并没有提供XXX字段(服务端配置的@RequestPart绑定)。
调试客户端multipart格式,甚至用 html页面,通过浏览器提交都不行。后来将 @RequestPart 换成 @RequestParam 就好了。之后查阅官方示例,也是用的后者。
https://spring.io/guides/gs/uploading-files/
后来发现字符串数据可以接收到,但文件上传,又解析不出来,猜测可能是 multipart resolver 出了问题,一路调试,发现 servlet request中是有上传的文件信息的。检查 application.properties 文件,发现已经启用了multipart:
multipart.enabled=true
multipart.max-file-size=10MB
于是删除java 配置中的
然后就奇迹般的好了。猜测是spring 自己会初始化并装配 CommonsMultipartResolver,自己装配反而丢失了一些配置,具体还需研究。
调试客户端multipart格式,甚至用 html页面,通过浏览器提交都不行。后来将 @RequestPart 换成 @RequestParam 就好了。之后查阅官方示例,也是用的后者。
https://spring.io/guides/gs/uploading-files/
后来发现字符串数据可以接收到,但文件上传,又解析不出来,猜测可能是 multipart resolver 出了问题,一路调试,发现 servlet request中是有上传的文件信息的。检查 application.properties 文件,发现已经启用了multipart:
multipart.enabled=true
multipart.max-file-size=10MB
于是删除java 配置中的
@Bean public CommonsMultipartResolver getMultipartResolver() { CommonsMultipartResolver resolver = new CommonsMultipartResolver(); resolver.setMaxUploadSize( 1024 * 1024 * 5 ); resolver.setMaxInMemorySize( 1024 * 1024 ); resolver.setDefaultEncoding( “UTF-8” ); return resolver; }
然后就奇迹般的好了。猜测是spring 自己会初始化并装配 CommonsMultipartResolver,自己装配反而丢失了一些配置,具体还需研究。
相关文章推荐
- java中IO流的学习笔记(2、复制数据)
- java中protected的权限
- 王立平--eclipse向svnserver上传项目
- 利用java concurrent 包实现日志写数据库的并发处理
- Spring-web源码解析之ContentNegotiationStrategy
- Java IO流
- JSONArry排序 java
- Spring-web源码解析之MediaTypeFileExtensionResolver
- Jsoup实现java模拟登陆
- Java设计模式---工厂模式
- Javac编译小技巧
- 【Java】equals和==的区别和联系
- springMVC事务注解拾遗
- springmvc log4j配置
- Java内部类
- activiti部署、执行,完成简单示例
- Highcharts.js -纯javasctipt图表库初体验
- java里的时间转换
- Java 线程安全总结
- 浅谈Java六大设计原则