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

2023-11-17

今天在编写SpringBoot 文件上传遇到这样的错误:org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;bounda

特此记录下:

错误的Controller 代码:

@ApiOperation(httpMethod = "POST", value = "文件块上传")
	@RequestMapping(value = "/upload", method = { RequestMethod.POST })
	@ResponseBody
	public Result upload(
			@RequestBody @ApiParam(name = "文件块对象", value = "表单对象")ChunkInfoModel         
            entity, HttpServletRequest request, HttpServletResponse response) {

			UploadFileCallback callback = new UploadFileCallback(entity, "upload", config.getLocation());
			Future<Result> result = this.uploadExecutor.submit(callback);
			try {
				return result.get();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				log.error(e.getMessage());
				e.printStackTrace();
			} catch (ExecutionException e) {
				// TODO Auto-generated catch block
				log.error(e.getMessage());
				e.printStackTrace();
			}
		return Result.ok("文件块上传成功");
	}

正确的Controoler 代码:

@ApiOperation(httpMethod = "POST", value = "文件块上传")
	@RequestMapping(value = "/upload", method = { RequestMethod.POST })
	@ResponseBody
	public Result upload(
			ChunkInfoModel entity,
			HttpServletRequest request, HttpServletResponse response) {

			UploadFileCallback callback = new UploadFileCallback(entity, "upload", config.getLocation());
			Future<Result> result = this.uploadExecutor.submit(callback);
			try {
				return result.get();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				log.error(e.getMessage());
				e.printStackTrace();
			} catch (ExecutionException e) {
				// TODO Auto-generated catch block
				log.error(e.getMessage());
				e.printStackTrace();
			}
		return Result.ok("文件块上传成功");
	}

 原因:首先你在  multipart/form-data 就不能使用 @RequestBody

 

@RequestBody 的用法:

 1. 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;

  2. 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。

springboot  默认配置核心代码,涉及请求request数据转换配置:

 

总结:RequestBody 支持的请求方式和内容类型

请求方式 内容方式 支持/不支持
POST/GET application/x-www-form-urlencoded 支持@RequestParam、支持@RequestBody
POST/GET  multipart/form-data 不支持@RequestBody
POST/GET application/json、application/xml 支持@RequestBody
PUT application/x-www-form-urlencoded 支持@RequestParam、支持@RequestBody
PUT  multipart/form-data 不支持@RequestBody
PUT application/json、application/xml 支持@RequestBody
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;bounda 的相关文章

  • 数据挖掘--分类算法的优缺点

    1决策树 Decision Trees 的优缺点 决策树的优点 一 决策树易于理解和解释 人们在通过解释后都有能力去理解决策树所表达的意义 二 对于决策树 数据的准备往往是简单或者是不必要的 其他的技术往往要求先把数据一般化 比如去掉多余的
  • 万向区块链元宇宙系列报告:对工业元宇宙的认知

    伴随着元宇宙概念大热 国内外多个巨头企业抢先布局 国内多个地方政府也在积极布局 发展元宇宙技术及相关产业 试图抢占先机 针对各业务场景与元宇宙的融合 万向区块链首席经济学家办公室团队出具了系列元宇宙相关研究报告 本篇将主要聚焦工业元宇宙 探
  • json和pickle的dump,dumps,load,dumps方法的使用

    序列化 Serialization 将对象的状态信息转换为便于存储或传输的形式的过程称之为序列化 该过程的逆向则称之为反序列化 如 1 数据和文本的转换 2 Python的数据类型和二进制数据类型的转化 3 Python的数据类型和json
  • 微信小程序 - 判断一个经纬度是否在一个多边形区域内

    功能描述 最近公司做了一个定位打卡的小程序 需要判断用户的经纬度是否在一个闭合的多边形区域内 在区域内允许打卡 否则提示 不再打卡范围 由于腾讯地图小程序SDK没有提供相关功能 所以需要自己手写造轮子 实现思路 首先已知一个用户坐标 x0
  • python函数式编程例子-python之面向过程,函数式编程,面向对象浅析

    python编程有面向过程 面向函数 面向对象三种 那么他们区别在哪呢 这个问题 让我想起我在学习编程的时候 我的老师给我举的例子 分享给大家 面向过程就是将编程当成是做一件事 要按步骤完成 比如煮咖啡这件事 先拿一定量的咖啡豆 然后磨成粉
  • Vue----双向绑定指令

    文章目录 3 7 双向绑定指令 3 7 1 v model 指令的修饰符 3 7 双向绑定指令 vue提供了 v model双向绑定指令 用来辅助开发者在 不操作DOM 的前提下 快速 获取表单数 据
  • 使用idea自带的maven插件配置镜像

    一 选择idea自带maven路径 setting文件的位置选择 二 打开setting文件 三 修改maven的镜像
  • 华为HCIE云计算之Fusion Access桌面云

    华为HCIE云计算之Fusion Access桌面云 一 Fusion Access介绍 二 华为Fusion Access架构 1 Fusion Access桌面云解决方案逻辑架构 2 FusionSphere云平台架构 三 Fusion

随机推荐

  • 【无人机分配】一种无人机实时最优任务分配模型附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 信号处理 图像
  • 不能看到共享的服务器文件夹,服务器不能共享文件夹

    服务器不能共享文件夹 内容精选 换一换 VPC为弹性云服务器构建隔离的 用户自主配置和管理的虚拟网络环境 提升用户云中资源的安全性 简化用户的网络部署 使用弹性文件服务时 文件系统和云服务器归属于同一VPC下才能文件共享 VPC可以通过网络
  • Java发送HTTP的get,post请求(JSON)

    import net sf json JSONObject import org apache commons httpclient import org apache commons httpclient methods GetMetho
  • 2020-09-06

    Elasticsearch Elasticsearch 简称ES 是一个可分布式的实时搜索和分析引擎 一个建立在全文搜索引擎 一个建立在全文搜索引擎Apache Lucence基础上的搜索引擎 它不仅可以进行全文搜素 还可以进行以下工作 分
  • centos7 Docker化应用体验

    centos7 Docker化应用体验 环境分析 WordPress运行环境需要如下软件的支持 PHP 5 6 或 更新版本 MySQL 5 6 或 更新版本 Apache 和 mod rewrite 模块 下载应用镜像 下载mariadb
  • RobotFramework-ride自动化操作教程

    一丶启动robotframework 启动RIDE 打开用例文件 找到文件位置 gt 选择文件 查看资源文件 确保用例所需资源文件当前目录都存在 三 用例编写 执行 新增用例 2 执行用例 勾选要执行的用例 点击run tests 或者 F
  • 浅谈漏洞及其分类

    浅谈漏洞及其分类 一 漏洞概念 漏洞是指一个系统上硬件 软件 协议等具体实现或系统安全策略上存在的弱点或缺陷 系统对特定威胁攻击或危险事件的敏感性 或进行攻击的威胁作用的可能性 这些缺陷 错误或不合理之处可能被有意或无意地利用 可以使攻击者
  • python中unexpected indent报错的解决办法

    python中unexpected indent报错的解决办法 在我们初步学习pyton的时候 由于对python语言的学习掌握不充分 则会导致所编写的代码 运行时候报错 比如 容易报错的unexpected indent问题 下面举例说明
  • Mybatis多对多查询+PageHelpler分页问题

    多对多查询 说明 tb user用户表 tb role角色表 tb user role用户角色关联表 实现表数据的多对多查询并返回 使用PageHelper对查询结果分页 用户表 Data NoArgsConstructor AllArgs
  • 想学好python?这18条学习技巧你一定要掌握。能甩别人两条街。

    在这篇文章中 我们将讨论最常用的python技巧 大多数这些技巧都是我在日常工作中使用过的简单的Trick 我觉得好东西就是要拿出来和大家一起分享 闲话少说 我们直接开始吧 处理用户的多个输入 有时我们需要从用户那里获得多个输入 以便使用循
  • 手把手教你在Tensorflow实现BEGAN 达到惊人的人脸图像生成效果

    导读 本文是基于谷歌大脑 Google Brain 发表在 arXiv 的最新论文 BEGAN 边界平衡生成对抗网络 实现的 该工作针对GAN 面临的一些难题 例如如何衡量收敛 如何控制分布多样性以及如何维持鉴别器和生成器之间的平衡等问题
  • Lock锁

    Lock实现提供比使用synchronized方法和语句可以获得的更广泛的锁定操作 它们允许更灵活的结构化 可能具有完全不同的属性 并且可以支持多个相关联的对象Condition 1 传统的synchronized package cn d
  • c语言(从入门到放弃?NONONO,LET我们一步一步刨析,会发现其中蕴含的乐趣)

    大家刚入门的时候通常会觉得c语言怎么怎么难学 听别人说指针多么多么难懂 深入学习的人的头发如何如何的稀少 然而我们只需要一步一步了解 一步一步刨析 会发现学习c语言也是具有许多乐趣的 接下来我们正式展开对C语言的简单了解咯 目录 一 让我们
  • Qt-信号和槽中使用自定义数据类型

    QT如果要在信号中使用自定义类型 需要首先调用qRegisterMetaType函数 语句类似 qRegisterMetaType
  • NOIP1998普及组复赛第二题 贰的幂方 解题报告

    问题描述 任何一个正整数都可以用 2 的幂次方表示 例如 137 27 23 20 在这里我们约定次方用括号来表示 即 ab 可表示为 a b 由上面叙述可知 137 又可以表示为 2 7 2 3 2 0 进一步 7 22 2 20 2 2
  • 游戏开发unity 3d知识系列:(一)用mesh绘制一个三角形网格

    国内讲解这些基础的感觉比较少 在youtube上看到一个比较好的视频 https www youtube com watch v eJEpeUH1EMg
  • Python抓取网页中的超链接以及其文本

    0 准备工作 读入网页加以解析抓取 需要用到的软件包是 requests html 我们此处并不需要这个软件包的全部功能 只读入其中的 HTMLSession 就可以 from requests html import HTMLSessio
  • 微信小程序富文本标签rich-text的使用

    wxml 接收对象数组
  • 解锁编程世界的魔法密码:探索算法的奥秘与应用

    一个程序员一生中可能会邂逅各种各样的算法 但总有那么几种 是作为一个程序员一定会遇见且大概率需要掌握的算法 今天就来聊聊这些十分重要的 必抓 算法吧 一 引言 算法是解决问题和优化程序性能的核心 它是一系列精确指令 将输入转换为输出 并在计
  • org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;bounda

    今天在编写SpringBoot 文件上传遇到这样的错误 org springframework web HttpMediaTypeNotSupportedException Content type multipart form data