如何在 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中文网其他相关文章!