Heim >Web-Frontend >js-Tutorial >Wie ändere ich FileList und FormData programmgesteuert für Datei-Uploads?

Wie ändere ich FileList und FormData programmgesteuert für Datei-Uploads?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 19:40:10721Durchsuche

How to Programmatically Modify FileList and FormData for File Uploads?

So ändern Sie FileList und FormData mit angegebenen Dateien

Festlegen der .files-Eigenschaft eines Element mit einer FileList aus einem anderen oder DataTransfer.files ermöglicht Ihnen die Angabe der hochzuladenden Dateien. Dieser Ansatz stellt jedoch Herausforderungen dar:

  • Die Eigenschaft .files.length bleibt auf 0.
  • Das an FormData() übergebene File-Objekt hat eine .size von 0.

Lösung mit DataTransfer

Der DataTransfer-Konstruktor erstellt eine veränderliche Variable FileList, auf die über die DataTransferItemList zugegriffen werden kann. Um beliebige Dateien auf einer FileList festzulegen, können Sie den folgenden Ansatz verwenden:

const dT = new DataTransfer();
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
inp.files = dT.files;

Hier ist dT ein neues DataTransfer-Objekt und inp Ihr ​​Eingabeelement. Mit dieser Technik können Sie bestimmte Dateien festlegen, die .length-Eigenschaft der FileList aktualisieren und sicherstellen, dass die Dateien im FormData-Objekt widergespiegelt werden.

Das obige ist der detaillierte Inhalt vonWie ändere ich FileList und FormData programmgesteuert für Datei-Uploads?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn