为了账号安全,请及时绑定邮箱和手机立即绑定

如何在文件也反映在FormData对象的FileList对象上设置File对象和Length属性?

如何在文件也反映在FormData对象的FileList对象上设置File对象和Length属性?

蝴蝶不菲 2019-07-22 09:42:26
如何在文件也反映在FormData对象的FileList对象上设置File对象和Length属性?可以设置.files.的性质<input type="file">元素的FileList例如,不同的<input type="file">元素.files财产或DataTransfer.files财产。看见使.files可设置#2866, 在将文件上传到HTML表单和提交文件之间会发生什么?.FileList对象具有Symbol.iterator属性,我们可以使用该属性设置File对象,但是,该对象是可迭代的。.files .length仍然设置为0并通过一个<form>有<input type="file">设置.files使用上述方法设置,则生成File对象具有.size设为0.如何设置File在…FileList并设定.length的FileList设置为文件数,其中文件设置为FormData()反对?const input = document.createElement("input");const form = document.createElement("form");const [...data] = [   new File(["a"], "a.txt"), new File(["b"], "b.txt")];input.type = "file";input.name = "files";input.multiple = true;   // set `File` objects at `FileList`input.files[Symbol.iterator] = function*() {    for (const file of data) {      yield file   };};form.appendChild(input);const fd = new FormData(form);for (const file of input.files) {   console.log(file); // `File` objects set at `data`}for (const [key, prop] of fd) {   // `"files"`, single `File` object having `lastModified` property   // set to a time greater than last `File` object within `data`   // at Chromium 61, only `"files"` at Firefox 57   console.log(key, prop); }console.log(input.files.length); // 0
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

我最近没有在Edge中检查,但据我所知,只有Chrome已经开始实现DataTransfer构造函数,FF漏洞仅在FF上工作。顺便说一句,您链接到的bug报告并没有真正提到我所说的bug(我确实打开了一个bug,所以我将在编辑中添加一个链接),尽管很高兴看到他们正在处理它

查看完整回答
反对 回复 2019-07-22
  • 2 回答
  • 0 关注
  • 943 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信