Heim >Web-Frontend >js-Tutorial >Wie kann ich Dateiobjekte und die Dateilistenlänge in FormData ändern?
Wie können wir Dateiobjekte bearbeiten und die Längeneigenschaft der FileList innerhalb eines anpassen? FormData-Objekt?
FileList-Objekte haben normalerweise ein Symbol.iterator-Eigenschaft, die es uns ermöglicht, iterierbare Objekte als Dateitypen festzulegen. Die .length-Eigenschaft der Datei bleibt jedoch auf 0.
Ein kürzlicher Durchbruch ist zu verzeichnen, wie das OP im Wesentlichen zeigt. Mithilfe des DataTransfer-Konstruktors können wir eine veränderbare FileList erstellen, auf die über DataTransferItemList zugegriffen werden kann.
In Blink-Browsern und Firefox-Versionen 62 und höher kann der DataTransfer-Konstruktor eine veränderbare FileList erstellen. Vor Firefox 62 bot ein Fehler in der Implementierung von ClipboardEvent eine Problemumgehung.
Hier ist ein Beispiel, wie dies erreicht werden kann:
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); inp.files = dT.files;
<input type="file">
Dieser Ansatz ändert effektiv die Dateiobjekte und legt die Längeneigenschaft der FileList korrekt fest, sodass sie in den FormData widergespiegelt werden können Objekt.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateiobjekte und die Dateilistenlänge in FormData ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!