Heim > Web-Frontend > js-Tutorial > Wie kann ich Dateiobjekte und die Dateilistenlänge innerhalb eines FormData-Objekts ändern?

Wie kann ich Dateiobjekte und die Dateilistenlänge innerhalb eines FormData-Objekts ändern?

DDD
Freigeben: 2024-12-01 01:50:09
Original
279 Leute haben es durchsucht

How Can I Modify File Objects and FileList Length within a FormData Object?

Ändern von Dateiobjekten und FileList-Länge innerhalb eines FormData-Objekts

Frage:

Wie können wir die Dateiobjekte darin ändern? eine FileList und legen Sie deren Länge fest, um sicherzustellen, dass die Dateien in den FormData widergespiegelt werden Objekt?

Antwort:

DataTransfer verwenden

Wie im Originalposter (OP) festgestellt, bietet die DataTransfer-API Folgendes eine Methode, um diese Aufgabe trotz ihrer aktuellen Einschränkungen zu erfüllen (wird nur von Blink, FF >= 62 unterstützt). Durch die Erstellung einer veränderlichen FileList über die DataTransferItemList können wir beliebige Dateien auf der FileList eines HTML-Dateieingabeelements festlegen.


< ;pre>// Ein neues DataTransfer-Objekt erstellen
const dT = new DataTransfer();

// Hinzufügen ein File-Objekt zur DataTransferItemList
dT.items.add(new File(['foo'], 'programmatical_created.txt'));

// Setze die Dateieigenschaft des Eingabeelements auf die Dateien des DataTransfer-Objekts
inp.files = dT.files;

<input type="file">

Dieser Ansatz ändert effektiv die FileList innerhalb des Dateieingabeelements und die aktualisierten Dateien werden in den FormData widergespiegelt Objekt.

Einschränkungen:

Es ist wichtig zu beachten, dass diese Technik derzeit nur begrenzte Browserunterstützung bietet. Darüber hinaus ist möglicherweise ein gewisses Fallback-Verhalten für Browser erforderlich, die den DataTransfer-Konstruktor nicht unterstützen.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateiobjekte und die Dateilistenlänge innerhalb eines FormData-Objekts ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage