上传文件,提交数据---FormData对象格式

上传文件,提交数据—FormData对象格式

在进行上传文件(例如Excel)时,处理的几步,否则无法上传

一、修改请求头

在修改请求头,是至关重要的,因为请求数据格式是不同的:

header: 'multipart/form-data',

注:在写请求头的时候遇到了一个坑,后端在给请求头的,可能会给成: application/x-www-form-urlencoded 中格式,其实是错,它无法实现对数据的formData处理。

二、创建FormData

我们在提交参数,调接口的时候,要创建一个formData,将所需的参数添加进去:

const params = {p1:",file:{...},...} //有多个参数
const formData = new FormData() // 或 try等内部  const formData = new FormData()
//将params所有参数添加到formData中  包括其中file
Object.keys(params).forEach((key) => { //遍历每个参数 进行添加
     if (params [key]) {
    	formData.append(key, params[key]);
 	}
});

注意:在提交的参数中存在数组的类型,formData会将提交的数据变成下列形式
在这里插入图片描述

使用这种方式提交参数时,最好不要有数组类型的参数,否则很麻烦,我暂时没有什么好的处理方式,如果大家有,欢迎留言,我也学习学习》》》

三、调用接口

直接将添加参数后的数据作为参数传过去:

//哈哈~ 由于内部ajax进行了内部封装。只要传入参数哦
res = await apis.createRedEnvelopeActivity(formData); 
console.log(res)

FormData 学习

其实要学习FormData ,看官方网站,是学的很快的,很容易理解,
FormData 提供了几个API:

  • append()
    添加数据 ,用的最多的

  • has()
    判断某个属性是否存在 ,添加完数据后,可进行判断formData对象中是否存在某个数据

… 其他的见官网哦:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/FormData

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值