首页 >web前端 >js教程 >如何修改 FormData 中的文件对象和文件列表长度?

如何修改 FormData 中的文件对象和文件列表长度?

Linda Hamilton
Linda Hamilton原创
2024-12-13 07:03:11881浏览

How Can I Modify File Objects and FileList Length within FormData?

在 FormData 中编辑 File 对象和 FileList 属性

问题:

如何在 FormData 中编辑 File 对象并调整 FileList 的 length 属性FormData 对象?

背景:

FileList 对象通常有一个Symbol.iterator 属性,允许我们将可迭代的对象设置为 File 类型。但是,文件 .length 属性仍为 0。

解决方案:

最近出现了突破,正如 OP 的要点所示。利用 DataTransfer 构造函数,我们可以创建一个可通过 DataTransferItemList 访问的可变 FileList。

详细信息:

在 Blink 浏览器和 Firefox 版本 62 及更高版本中,DataTransfer 构造函数可以创建一个可变 FileList。在 Firefox 62 之前,ClipboardEvent 实现中的错误提供了解决方法。

代码实现:

以下是如何实现此目的的示例:

const dT = new DataTransfer();
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
inp.files = dT.files;
<input type="file">

这种方法有效地修改了文件对象并正确设置了FileList的length属性,让它们能够反映在FormData中对象。

以上是如何修改 FormData 中的文件对象和文件列表长度?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn