ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data

2022-07-18 22:31:10  阅读:211  来源: 互联网

标签:web java form springframework org HttpMediaTypeNotSupportedException servlet met


报错信息

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=--------------------------423557816345430760392485;charset=UTF-8' not supported
	at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:224)
	at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:157)
	at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:130)
	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:126)
	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:167)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)

报错原因:

这是因为你所需要的是json的数据类型,而你传的是其它类型的值(比如:form表格)

解决方式:

  • image-20220714150801366

需要按照以上方式将参数以json的形式写入.上方截图中的两个步骤都需要做

当我修改改好上面后报错信息变成了,只粘贴了一行

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'text/plain;charset=UTF-8'

这个报错原因是

  • image-20220714150658002
  • 就是需要我们在Headers里面手动输入.

因为这里我们开发接口需要返回Json格式的报文数据,所以需要这么修改,但是还有一种情况就是当我们提交的就是form-data类型的数据时,而不是Json报文数据时,也会出现类似的错误,我们这里都详细记录下.

报错信息也是类似-这个是参考别人的.

文件上传问题org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;

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

controller 代码如下:

@RequestMapping(value = "/upload", method =RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file, @RequestBody User user) 
 {
 	// 业务处理
 	......
 	......
 }

控制面板上显示:WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver -Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=--------------------------117954444450080952702590;charset=UTF-8' not supported]

解决方案:

去掉 @RequestBody 注解就行了

@RequestMapping(value = "/upload", method =RequestMethod.POST)
 
public String upload(@RequestParam("file") MultipartFile file, User user) {
      // 业务处理
      ......
      ......
         
}

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

标签:web,java,form,springframework,org,HttpMediaTypeNotSupportedException,servlet,met
来源: https://www.cnblogs.com/javaxubo/p/16492251.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有