formData数据(含文件流)json化

ethanYin
  • 125

传给后台一个formData数据,后台又需要转化为json格式,我若转为json(方法如下),文件就被变为对象(只有uid属性),

const objData: objectData = {};
this.formData.forEach((value, key) => (objData[key] = value));

formData数据大概是这样子
image.png

就接受不了文件对象,其中certificate可能有多张图片。

网上看到这种方法又只能传输文件,不能传数据。

我该什么吧含有文件流的表单数据(formData) Json化?

回复
阅读 4.5k
2 个回答

文件流不能直接字符化,要么你就自己转成 base64,要么就 formData 传过去。

ajax上传文件必须用formdata,formdata不可以转换为json,因为文件不能转json,除非把文件编码成base64。
你可以贴上后台接口要求的数据格式,从上面的描述来看看不出来具体问题。

但是看你的数据应该不是json格式的呀,avatar和certificate都是文件,可以直接append到formdata里面,具体还要看接口的数据格式要求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏