Heim  >  Artikel  >  Web-Frontend  >  Können Sie eine Daten-URL mithilfe integrierter APIs in JavaScript zurück in einen Blob konvertieren?

Können Sie eine Daten-URL mithilfe integrierter APIs in JavaScript zurück in einen Blob konvertieren?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 08:22:30519Durchsuche

 Can You Convert a Data URL Back to a Blob in JavaScript Using Built-in APIs?

Abrufen eines Blobs von einer Daten-URL

In bestimmten Szenarien besteht die Notwendigkeit, beliebige Daten mithilfe von readAsDataURL( von FileReader) in eine Daten-URL umzuwandeln. ) Methode. Kann diese Daten-URL jedoch mithilfe integrierter Browser-APIs wieder in eine Blob-Instanz umgewandelt werden?

Eine Lösung wurde von einem Benutzer namens Matt vorgeschlagen:

Code-Snippet:

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

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

  // Create an ArrayBuffer and Uint8Array
  var ab = new ArrayBuffer(byteString.length);
  var ia = new Uint8Array(ab);

  // Set the bytes of the buffer
  for (var i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
  }

  // Create a Blob instance
  var blob = new Blob([ab], { type: mimeString });
  return blob;
}</code>

Hinweis:

Wie in nachfolgenden Kommentaren erwähnt, ist BlobBuilder veraltet. Daher handelt es sich bei dem oben bereitgestellten Code um eine aktualisierte Version.

Das obige ist der detaillierte Inhalt vonKönnen Sie eine Daten-URL mithilfe integrierter APIs in JavaScript zurück in einen Blob konvertieren?. 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