后端在插入一条数据时涉及到同时接收表单项和图片信息(不止一个图片)
@PostMapping("/upTaskInfo") public Result upTaskInfo(Person person, @RequestParam("file") MultipartFile file){
}
@PostMapping("/upTaskInfo") public Result upTaskInfo(Person person,@RequestParam("files") MultipartFile[] files){ }
@PostMapping("/upTaskInfo") public Result upTaskInfo(@RequestBody Person person,@RequestParam("files") MultipartFile[] files){ }
去掉 @RequestBody 就行了!!!!,不需要加上
去掉 @RequestBody 就行了!!!!,不需要加上
http相关知识
HTTP请求分为了消息头和消息体,头信息里面的Content-Type字段定义了消息体的请求格式,接口里面声明 @RequestBody 的参数只能设置为 "Content-Type: application/json",而 MultipartFile 参数只能设置为"Content-Type: multipart/form-data",上述两种格式并不是兼容的,那问题就来了,前端请求的时候 Content-Type 怎么设置,无论哪种格式都是错的。
总算知道前因后果了,我这也是多篇博客参考汇总的原因的好一点的解决方法,,另外也可以将实体类一个个写(略显冗杂就没列举)
参考博客链接:
原因+(提出了表单量小的解决方法):SpringBoot 接口同时接收MultipartFile参数和结构体参数_清泉影月-CSDN博客_springboot接收文件和参数
表单量大的解决方法:springboot同时接收表单数据和文件 - 风子磊 - 博客园 (cnblogs.com)
springBoot 同时接收表单数据(后端以实体类的形式接收) 和 文件
原文:https://www.cnblogs.com/cybg/p/15268500.html