Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiere ich eine Objekt-URL in eine Datei oder ein Blob für Formularübermittlungen?

Wie konvertiere ich eine Objekt-URL in eine Datei oder ein Blob für Formularübermittlungen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 04:31:28486Durchsuche

How to Convert an Object URL to a File or Blob for Form Submissions?

Abrufen einer Datei oder eines Blobs von einer Objekt-URL

Beim Arbeiten mit Bildern in einer Webanwendung ist es üblich, Drag-and-Drop zu verwenden. Drop oder andere Methoden, um Benutzern das Hochladen von Dateien zu ermöglichen. Um diese Bilder anzuzeigen, wird normalerweise URL.createObjectURL verwendet, um sie in Objekt-URLs umzuwandeln. Wenn es jedoch darum geht, diese Bilder als Teil eines Formulars einzureichen, stellt sich die Frage: Wie können Sie diese Objekt-URLs zurück in eine Datei oder einen Blob konvertieren und an ein FormData-Objekt anhängen?

Modern Lösung

Moderne Browser bieten eine einfache und effiziente Lösung:

<code class="javascript">let blob = await fetch(url).then(r => r.blob());</code>

Mit diesem Code kann eine Datei oder ein Blob sowohl von Objekt-URLs als auch von regulären URLs abgerufen werden. Der URL-Parameter kann die zuvor erstellte Objekt-URL sein.

Sobald Sie den Blob haben, können Sie ihn einfach an ein FormData-Objekt anhängen und das Formular senden. Hier ist ein Beispiel:

<code class="javascript">// Assume you have the Blob from the object URL
const formData = new FormData();
formData.append('image', blob);

// Submit the form via AJAX or another mechanism
fetch('/upload', {
  method: 'POST',
  body: formData
});</code>

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Objekt-URL in eine Datei oder ein Blob für Formularübermittlungen?. 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