Comment pouvons-nous modifier les objets fichier et ajuster la propriété de longueur de la FileList dans un Objet FormData ?
Les objets FileList ont généralement un Propriété Symbol.iterator, nous permettant de définir des objets itérables en tant que types de fichiers. Cependant, la propriété .length des fichiers reste à 0.
Une percée récente a émergé, comme le démontre l'OP dans son essence. En utilisant le constructeur DataTransfer, nous pouvons créer une FileList mutable accessible via DataTransferItemList.
Dans les navigateurs Blink et Firefox versions 62 et supérieures, le constructeur DataTransfer peut créer une FileList mutable. Avant Firefox 62, un bug dans l'implémentation de ClipboardEvent fournissait une solution de contournement.
Voici un exemple de la façon d'y parvenir :
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); inp.files = dT.files;
<input type="file">
Cette approche modifie efficacement les objets fichier et définit correctement la propriété length de FileList, leur permettant d'être reflétés dans l'objet FormData.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!