什么是formData? MDN官网
FormData接口提供了一种方法来构造一组表示表单字段及其值的键/值对,这些键/值可以使用fetch()、XMLHttpRequest.send()或navigator.sendBeacon()方法发送。如果编码类型设置为“多部分/表单数据”,则它使用与表单相同的格式。
方法:
FormData.append():将一个新值追加到FormData对象内的现有键上,如果该键不存在,则添加该键
FormData.delete():从FormData对象中删除键/值对。
FormData.entries(): 返回一个迭代器,该迭代器遍历FormData中包含的所有键/值对。
FormData.get():从FormData对象中返回与给定键关联的第一个值。
FormData.getAll(): 从FormData中返回与给定键关联的所有值的数组。
FormData.has():返回FormData对象是否包含某个键。
FormData.keys(): 返回一个迭代器,该迭代器遍历FormData中包含的键/值对的所有键。
FormData.set(): 为FormData对象内的现有键设置一个新值,或者在键/值不存在的情况下添加该键/值
FormData.values():返回一个迭代器,该迭代器遍历FormData中包含的所有值。
问题1:批量上传多个文件
let _params = new FormData()
fileList.forEach((e: IAnyObject) => {
_params.append('applyAttachmentRequest', e.file)
})
问题2: 追加JSON数据
方法一:
let baseInfo = {name: 'zhangs', age: 20}
let _params = new FormData()
_params.append('jsonParams', JSON.stringify(baseInfo ))
方法二:
const _receptionInfo = {type: '标签一', label: '测试数据'}
let _params = new FormData()
_params.append('jsonParams', new Blob([JSON.stringify(_receptionInfo)], {type: "application/json",}))
推荐传递json使用方法二: