FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,本接口和此方法都相当简单直接如果送出时的编码类型被设为 "multipart/form-data",它会使用和表单一样的格式,我来为大家讲解一下关于formdata参数是放在哪里的?跟着小编一起来看一看吧!

formdata参数是放在哪里的(FormData对象上传文件)

formdata参数是放在哪里的

FormData 接口提供了一种表示表单数据的键值对 key/value 的构造方式,并且可以轻松的将数据通过XMLHttpRequest.send() 方法发送出去,本接口和此方法都相当简单直接。如果送出时的编码类型被设为 "multipart/form-data",它会使用和表单一样的格式。

创建新的对象

const formData = new FormData()

方法

// 向 FormData 中添加新的属性值,FormData 对应的属性值存在也不会覆盖原值, // 而是新增一个值,如果属性不存在则新增一项属性值。 FormData.append() // 从 FormData 对象里面删除一个键值对。 FormData.delete() // 返回一个包含所有键值对的iterator对象。 FormData.entries() // 返回在 FormData 对象中与给定键关联的第一个值。 FormData.get() // 返回一个包含 FormData 对象中与给定键关联的所有值的数组。 FormData.getAll() // 返回一个布尔值表明 FormData 对象是否包含某些键。 FormData.has() // 返回一个包含所有键的iterator对象。 FormData.keys() // 给 FormData 设置属性值,如果FormData 对应的属性值存在则覆盖原值,否则新增一项属性值。 FormData.set() // 返回一个包含所有值的iterator对象。 FormData.values()

使用

// 参数 const formData = new FormData() // 获取上传文件 const file = document.getElementById("upload-file").files[0] // 假如data是额外的其他参数 for (const key in data) { if (data.hasOwnProperty(key)) { formData.append(key, data[key) } } formData.append('file', file) // 发送 POST 请求 axios({ method: 'post', url: '/api/upload', data: formData, headers: { "Content-Type": "multipart/form-data" } });

,