当前位置: 首页 > news >正文

spring-boot 接收form表单 多文件加多字段数据(postman在form-data格式下传数组和集合)

前言

该博客多用于记录自己的问题

 在写项目的时候遇到这种业务情况:

需要保存整个页面的数据,数据包含多个字段信息多个文件

 结合网上的处理思路,我最终实现了这种业务需求并整理一下

前端单独提交字段和文件比较方便简单,本人不太了解前端,既然前端说要用form表单同时传字段和文件,那么我就以这样的方式去研究怎么去同时接收

先看一下最终结果

 

 其中遇到的一下问题

1.前端的数据格式是 multipart/form-data,不再是json格式,后端接收就不能加注解@RequestBody

 如:

 

 会报错,不支持这个方式

"msg": "Content type 'multipart/form-data;boundary=--------------------------958211735005905900137890;charset=UTF-8' not supported",

2. 所以前端就不能以对象的方式传数据,我不了解是否有其他解决方法,目前我的前端就是以键值对的方式给我数据,以postman为例

 数据格式form-data,其中files是文件,其余是一个对象的字段,需求是多个文件,所以是以数组的方式接收

注意的是用postmanform-data格式传数组  按上图所示即可

3.同理,前端用form表单传文件数组时也遇到了问题,开始是将文件放入了名叫files数组一起传,但是后台接收不到,我猜测是没按键值对方式的原因,

最终解决是,文件名"name"为files,value值为不同的文件,如同postman的格式 

4.其中,我的业务需求里,在对象中包含集合,看网上一些人说在上面这个传输格式下,不用注解@RequestBody,不会将集合自动装配到对象中,我用postman实验了一下,可以自动装配到对象中

需要注意的是:如何在form-data格式下传集合

如:

 

相关文章:

  • 微网站开发外包/模板免费下载网站
  • 做网站想要中立/网络销售的好处和意义
  • 多城市网站建设/seo教程有什么
  • 企业网站 数据库设计/如何注册域名及网站
  • wordpress自定义发文章界面/网站推广步骤
  • 铁岭做网站公司信息/最有效的推广方法
  • 【华为OD机试真题 python】预订酒店【2022 Q4 | 100分】
  • React router
  • 手办商城系统|Springboot+vue+ElementUI手办商城系统
  • 制作圣诞帽其实特简单(附 Python 代码)
  • Redis跳跃表(SkipList)
  • vue-element 表单校验
  • Python学习笔记-PyQt
  • 网站反爬指南:政府网站篇
  • PDF翻译怎么操作?教你几个PDF翻译的技巧
  • 最小生成树
  • 华为机试_HJ63 DNA序列【中等】
  • 基于XMC4800 Ethercat从站的工厂自动化解决方案