vue2+elementui上传文件-同时上传表单数据和文件

问题

前端接口上传文件的时候,通常会将请求header的content-type设置为:multipart/form-data, 或者form表单提交表单提交的时候将enctype设置为"multipart/form-data" 。后端收到请求时由于请求体有@RequestBody 注解标识,通常会用application/json, application/xml处理content-type,此时会报编码格式的问题。

解决

const formData = new FormData();
// file 为想要上传的文件
formData.append("file", this.file);
formData.append(
  "name",
  new Blob([this.form.name], {
    type: "application/json",
  })
);
formData.append(
  "age",
  new Blob([this.form.age], {
    type: "application/json",
  })
);
formData.append(
  "hobby",
  new Blob([this.form.hobby], {
    type: "application/json",
  })
);
// 发送请求
addUser(formData).then((res) => {
  if (res.code === 0) {
    this.$message.success(res.msg);
  } else {
    alert("新增失败");
  }
});
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值