springBoot同时接收表单数据(后端以实体类的形式接收)和⽂
1. 起因(前提:前端采⽤formData传输,如⽤json传输则下⾯的⽅法也不适⽤)
后端在插⼊⼀条数据时涉及到同时接收表单项和图⽚信息(不⽌⼀个图⽚)
2. 解决⽅案
  2.1 接收⼀个图⽚和表单项
@PostMapping("/upTaskInfo")
springboot其实就是springpublic Result upTaskInfo(Person person, @RequestParam("file") MultipartFile file){   
}
  2.2 接收多个⽂件和表单项
@PostMapping("/upTaskInfo")
public Result upTaskInfo(Person person,@RequestParam("files") MultipartFile[] files){
  }
3. 错误⽰例(同时写上 @RequestBody 和 MultipartFile)
@PostMapping("/upTaskInfo")
public Result upTaskInfo(@RequestBody Person person,@RequestParam("files") MultipartFile[] files){
  }
  去掉 @RequestBody 就⾏了!!!!,不需要加上
  去掉 @RequestBody 就⾏了!!!!,不需要加上
4. 产⽣的原因
http相关知识
HTTP请求分为了消息头和消息体,头信息⾥⾯的Content-Type字段定义了消息体的请求格式,接⼝⾥
⾯声明 @RequestBody 的参数只能设置为 "Content-Type: application/json",⽽ MultipartFile 参数只能设置为"Content-Type: multipart/form-data",上述两种格式并不是兼容的,那问题就来了,前端请求的时候 Content-Type 怎么设置,⽆论哪种格式都是错的。
总算知道前因后果了,我这也是多篇博客参考汇总的原因的好⼀点的解决⽅法,,另外也可以将实体类⼀个个写(略显冗杂就没列举)
参考博客链接:
原因+(提出了表单量⼩的解决⽅法):
表单量⼤的解决⽅法:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。