Maison  >  Article  >  interface Web  >  Comment convertir efficacement un blob d'un formulaire HTML en une chaîne Base64 ?

Comment convertir efficacement un blob d'un formulaire HTML en une chaîne Base64 ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-17 16:51:02677parcourir

How to Efficiently Convert a Blob from an HTML Form to a Base64 String?

Convertir un blob en Base64

Dans cette requête de codage, l'utilisateur cherche à convertir un blob, obtenu à partir de la saisie d'un formulaire HTML, en une chaîne base64. Le code fourni affiche avec succès une image en créant un objet URL à l'aide de createObjectURL, mais la conversion souhaitée à l'aide de readAsBinaryString aboutit à une variable source nulle.

Pour résoudre ce problème et contourner la complexité du code fourni, une solution plus simple L'utilisation de la méthode readAsDataURL est présentée ci-dessous :

var reader = new FileReader();
reader.readAsDataURL(blob); 
reader.onloadend = function() {
  var base64data = reader.result;                
  console.log(base64data);
}

Selon la documentation FileReader, readAsDataURL encode le contenu comme base64.

Pour une gestion asynchrone, une fonction attendue peut être définie comme :

function blobToBase64(blob) {
  return new Promise((resolve, _) => {
    const reader = new FileReader();
    reader.onloadend = () => resolve(reader.result);
    reader.readAsDataURL(blob);
  });
}

Remarque : Pour obtenir la chaîne codée en base64 seule, supprimez les données :< ;em>/;base64, à partir du résultat.

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