<input type="file">
요소의 .files
속성을 으로 설정할 수 있습니다 (예 : 다른 <input type="file">
요소 .files
속성 또는 DataTransfer.files
속성). Make .files settable #2866, What happens between uploading a file to an HTML form and submitting it?을 참조하십시오.FileList 개체에서 File 개체 및 길이 속성을 설정하는 방법 파일도 FormData 개체에도 반영됩니까?
FileList
목적은 우리가 반복 가능한있는 File
오브젝트 그러나 .files
.length
여전히 0
로 설정을 설정하는 데 사용할 수있는 Symbol.iterator
속성을 가지며, 통과하는 <form>
는 .files
가 수득 상기 방법을 사용하여 설정 <input type="file">
세트를 갖는 .size
을 갖는 File
오브젝트는 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
은 단지 이전을 편집하는 것이 더하지 않을까요 https://developer.mozilla.org/en-US/Firefox/Releases/57#DOM –