Heim  >  Artikel  >  Web-Frontend  >  Können Sie eine Daten-URL mithilfe von JavaScript wieder in einen Blob umwandeln?

Können Sie eine Daten-URL mithilfe von JavaScript wieder in einen Blob umwandeln?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 03:14:02923Durchsuche

 Can you convert a Data URL back into a Blob using JavaScript?

Abrufen von Blobs aus DataURLs

Frage:

Mit der Methode readAsDataURL() von FileReader können Daten in Daten umgewandelt werden URL. Gibt es jedoch eine Methode, diesen Prozess umzukehren und mithilfe integrierter Browser-APIs eine Blob-Instanz aus der Daten-URL zu erstellen?

Antwort:

Es wurde eine Lösung vorgeschlagen von Matt vor einem Jahr im Diskussionsthread „Wie konvertiere ich eine Daten-URL in ein Dateiobjekt in Javascript?“

Aktualisierter Code:

Da BlobBuilder veraltet ist, finden Sie hier die aktualisierter Code:

<code class="javascript">function dataURItoBlob(dataURI) {
  // Convert base64 to raw binary data as a string
  let byteString = atob(dataURI.split(',')[1]);

  // Extract the MIME type
  let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];

  // Convert the string to an ArrayBuffer
  let ab = new ArrayBuffer(byteString.length);
  let ia = new Uint8Array(ab);

  // Set the ArrayBuffer bytes to the appropriate values
  for (let i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
  }

  // Create a Blob from the ArrayBuffer
  let blob = new Blob([ab], { type: mimeString });
  return blob;
}</code>

Das obige ist der detaillierte Inhalt vonKönnen Sie eine Daten-URL mithilfe von JavaScript wieder in einen Blob umwandeln?. 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