javascript - fetch 原生支持多文件上传吗?

标签 javascript reactjs ajax upload fetch-api

总结

我正在尝试使用 javascript 正确设置我的 FormData

我需要能够上传 jpg/png,但我可能需要在将来使用 fetch 上传一些其他文件类型 pdf/csv

预计

我希望它将数据附加到表单

错误

image

工作

这段代码运行良好:

const formData = new FormData(document.querySelector('form'));
formData.append("extraField", "This is some extra data, testing");

return fetch('http://localhost:8080/api/upload/multi', {
    method: 'POST',
    body: formData,
});

image

不工作

const formData = new FormData();
const input = document.querySelector('input[type="file"]');
formData.append('files', input.files);

image

问题

fetch 原生支持多文件上传吗?

最佳答案

如果你想要多个文件,你可以使用这个

var input = document.querySelector('input[type="file"]')

var data = new FormData()
for (const file of input.files) {
  data.append('files',file,file.name)
}

fetch('http://localhost:8080/api/upload/multi', {
  method: 'POST',
  body: data
})

关于javascript - fetch 原生支持多文件上传吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47738642/

相关文章:

javascript - Outlook Web 插件显示错误消息作为信息

javascript - 响应式富编辑器预览

javascript - 如何管理客户端 JavaScript 依赖项?

javascript - 重复 React 高阶组件的缺点是什么?

javascript - Material ui 更改复选框颜色

jquery - 如何使用 MVC 部分 View 成功执行 Ajax 请求后调用 jQuery 函数

javascript - 将数据传递给 ngAfterViewInit() 内的函数 - Angular 6

javascript - 仅在 React 应用程序的特定页面上显示 google Recaptcha V3 floater

php - AJAX 不会响应 .htaccess 中的 POST php

javascript - 如何让一个按钮对应不同的点击div html jquery php?