You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将包含文件的JavaScript对象数组转换为FormData提交

实现方法

直接遍历数组,按照后端可识别的数组字段规则逐个将属性追加到FormData实例中即可,以下是可直接运行的代码示例:

const formData = new FormData();

items.forEach((item, index) => {
  // 追加普通文本字段
  formData.append(`items[${index}].ID`, item.ID);
  formData.append(`items[${index}].count`, item.count);
  // 追加二进制文件,第三个参数为可选的文件名参数,按需传入即可
  formData.append(`items[${index}].File`, item.File, item.File?.name);
});
注意事项
  • 字段命名需要和后端接收规则对齐,常规Java Spring、Node.js Express(multer)框架直接使用items[${index}].属性名的格式即可自动解析为对象数组,PHP框架可调整为items[${index}][属性名]格式。
  • 发送请求时不要手动设置Content-Type: multipart/form-data请求头,浏览器会自动生成带boundary标识的正确请求头,手动设置会导致边界符丢失,请求解析失败。
  • 如果存在可选字段,追加前先判断字段是否存在,避免传入无效空值。
请求发送示例
fetch('你的后端接口地址', {
  method: 'POST',
  body: formData
}).then(res => res.json()).then(result => {
  // 处理返回结果
})

内容的提问来源于stack exchange,提问作者Hanyi Koh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:54:00