axios post传递对象_axios 怎么在Post请求中,同时传递文件和对象

addAppVersion(formdata: any, file: any) {

const data = new FormData();

data.append('appfile', file);

data.append('appVersion', JSON.stringify(formdata));

//Object.entries(formdata).forEach((arr: [string,any]) => {data.append(arr[0], arr[1]);})

return new Promise((resolve: Function,reject: Function) => {

axios({

url:'/app/versionManager/addAppVersion',

method:'post',

headers: {

'Content-Type': 'multipart/form-data',

},

data: data

}).then((res: any) => {

resolve(res.data)

}).catch((err: any) => {

reject(err)

});

})

formData.append(name, value) 表单的值。是 USVString 或 Blob (包括子类型,如 File)。所以上述的date需要被JSON.stringify,才能存入FormData字符串。我这里想在请求前进行appVersion值的反序列化,但是尝试使用transformRequest和拦截器都失败了。

这样请求的参数appVersion是一个JSON字符串,能不能做到直接传递一个对象参数呢?或者用其他方式传递file?

回答

传入一个 FormData(multipart/form-data),却序列化成了 JSON(application/json),最后又强行指定数据类型是键值对(application/x-www-form-urlencoded)???

这是什么奇葩的写法???

为啥不直接用 FormData 往上传???

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值