Maison  >  Article  >  interface Web  >  Comment reconvertir une URL de données en instance Blob en JavaScript ?

Comment reconvertir une URL de données en instance Blob en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 09:59:29847parcourir

How to Convert a Data URL Back to a Blob Instance in JavaScript?

Récupération d'une instance Blob à partir de DataURL

La conversion de données arbitraires en une URL de données à l'aide de readAsDataURL() de FileReader est une tâche courante. Cependant, lorsqu'il est nécessaire de reconvertir une URL de données en instance Blob, les API du navigateur intégrées peuvent sembler floues.

Pour résoudre ce problème, Matt a proposé une solution dans une discussion précédente (Comment convertir dataURL vers l'objet de fichier en javascript ?). Bien que BlobBuilder soit désormais obsolète, le code mis à jour convertit efficacement les URL de données en Blobs :

<code class="js">function dataURItoBlob(dataURI) {
  const byteString = atob(dataURI.split(',')[1]);
  const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];

  const ab = new ArrayBuffer(byteString.length);
  const ia = new Uint8Array(ab);

  for (let i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
  }

  return new Blob([ab], { type: mimeString });
}</code>

Cet extrait de code transforme sans effort les URL de données en Blobs, répondant à la requête initiale et offrant un outil pratique pour la manipulation des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn