<input type="file">
तत्व FileList
पर तत्व .files
संपत्ति या DataTransfer.files
संपत्ति से .files
संपत्ति सेट करना संभव है। Make .files settable #2866, What happens between uploading a file to an HTML form and submitting it? देखें।फ़ाइल ऑब्जेक्ट्स पर फ़ाइल ऑब्जेक्ट्स और लम्बाई प्रॉपर्टी कैसे सेट करें, जहां फाइल फॉर्मडाटा ऑब्जेक्ट पर भी दिखाई देती है?
FileList
वस्तु एक Symbol.iterator
संपत्ति है जो हम एक File
वस्तु जो iterable है, तथापि .files
.length
अभी भी 0
पर सेट है स्थापित करने के लिए उपयोग कर सकते हैं और गुजर एक <form>
<input type="file">
सेट जहां .files
ऊपर दृष्टिकोण का उपयोग कर एक पैदावार होने के लिए निर्धारित है File
ऑब्जेक्ट .size
0
पर सेट है।
कैसे FileList
पर File
सेट और सेट फ़ाइलों की संख्या, जहां फाइलों FormData()
वस्तु पर सेट कर रहे हैं करने के लिए FileList
की .length
स्थापित करने के लिए?
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
FF57 में तय किया गया है को देखने के https://developer.mozilla.org/en-US/Firefox/Releases/57#DOM –