微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – fetch本地支持多文件上传吗?

摘要

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

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

预期

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

错误

工作

这个片段工作正常:

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,
});

不工作

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

fetch本机支持文件上传吗?

解决方法:

代码的问题在于lineformData.append(‘files’,input.files);
而不是那样,你应该上传每个运行带有唯一键的循环的文件,如下所示

const fileList = document.querySelector('input[type="file"]').files;
    for(var i=0;i<fileList.length;i++) {
    formData.append('file'+i, fileList.item(i));    
}

我用你的代码创建了一个简单的错误小提琴here.您可以在此处查看其提交的帖子数据,您可以在其中看到没有上传任何文件.

页面底部,您可以找到

enter image description here

.

我修正了小提琴here.您可以从服务器检查其’postt数据,它显示上传的两个文件的详细信息.

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐