org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryRAYPKeHKTYSNdzc1;charset=UTF-8' not supported


  最近同事在做一个图片上传功能、在入参 body 中同时传入文件和其它基本信息结果出现如题异常、在此记录下解决办法、以做记录。

controller 代码如下:

1 @RequestMapping(value = "/upload", method =RequestMethod.POST) 2 @ResponseBody 3 public String upload(@RequestParam("file") MultipartFile file, @RequestBody User user) { 4 // 业务处理
5 ...... 6 ...... 7 
8 }

在使用工具测试(Postman、 swagger )时报如下异常

  "timestamp": 1473349676109, "status": 415, "error": "Unsupported Media Type", "exception": "org.springframework.web.HttpMediaTypeNotSupportedException", "message": "Content type 'multipart/form-data;boundary=----WebKitFormBoundaryTVc9eDC2a2elulOx;charset=UTF-8' not supported", "path": "/upload"

解决方案:

去掉 @RequestBody 注解就行了

1  @RequestMapping(value = "/upload", method =RequestMethod.POST) 2  @ResponseBody 3  public String upload(@RequestParam("file") MultipartFile file, User user) { 4  // 业务处理
5  ...... 6  ...... 7  
8  }

原因: 使用在进行图片或者文件上传时 multipart/form-data 类型时、 数据会自动进行映射不要添加任何注解。此处解释不知道正确不、欢迎指正。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM