如何在文件也反映在FormData對(duì)象的FileList對(duì)象上設(shè)置File對(duì)象和Length屬性?可以設(shè)置.files.的性質(zhì)<input type="file">元素的FileList例如,不同的<input type="file">元素.files財(cái)產(chǎn)或DataTransfer.files財(cái)產(chǎn)。看見(jiàn)使.files可設(shè)置#2866, 在將文件上傳到HTML表單和提交文件之間會(huì)發(fā)生什么?.FileList對(duì)象具有Symbol.iterator屬性,我們可以使用該屬性設(shè)置File對(duì)象,但是,該對(duì)象是可迭代的。.files .length仍然設(shè)置為0并通過(guò)一個(gè)<form>有<input type="file">設(shè)置.files使用上述方法設(shè)置,則生成File對(duì)象具有.size設(shè)為0.如何設(shè)置File在…FileList并設(shè)定.length的FileList設(shè)置為文件數(shù),其中文件設(shè)置為FormData()反對(duì)?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
如何在文件也反映在FormData對(duì)象的FileList對(duì)象上設(shè)置File對(duì)象和Length屬性?
蝴蝶不菲
2019-07-22 09:42:26