Maison > interface Web > js tutoriel > le corps du texte

Comment convertir une URL de données en Blob en JavaScript ?

DDD
Libérer: 2024-10-29 21:20:30
original
687 Les gens l'ont consulté

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

Conversion d'URL de données en blobs

Transformer des données arbitraires en URL de données à l'aide de readAsDataURL() de FileReader est une technique utile. Cependant, que se passe-t-il si vous devez reconvertir cette URL de données en instance Blob ?

Conversion native du navigateur

Actuellement, il n'existe aucune API de navigateur intégrée qui convertit directement les URL de données en Blobs. Cependant, il existe des solutions de contournement qui utilisent du code JavaScript personnalisé.

Solution JavaScript personnalisée

Une méthode largement acceptée a été proposée par Matt sur Stack Overflow (Comment convertir dataURL en objet fichier en javascript ?). Voici une version mise à jour de son code :

<code class="javascript">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);
  }

  const blob = new Blob([ab], { type: mimeString });
  return blob;
}</code>
Copier après la connexion

Utilisation

Vous pouvez désormais utiliser dataURItoBlob() pour transformer votre URL de données en objet Blob :

<code class="javascript">const dataURL = 'data:image/png;base64,...';
const blob = dataURItoBlob(dataURL);</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal