Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiert man einen Blob effizient von einem HTML-Formular in einen Base64-String?

Wie konvertiert man einen Blob effizient von einem HTML-Formular in einen Base64-String?

Linda Hamilton
Linda HamiltonOriginal
2024-11-17 16:51:02677Durchsuche

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

Blob in Base64 konvertieren

In dieser Codierungsabfrage versucht der Benutzer, einen Blob, der aus einer HTML-Formulareingabe erhalten wurde, in eine Base64-Zeichenfolge zu konvertieren. Der bereitgestellte Code zeigt erfolgreich ein Bild an, indem er mit createObjectURL ein URL-Objekt erstellt, aber die gewünschte Konvertierung mit readAsBinaryString führt zu einer Null-Quellvariablen.

Um dieses Problem zu beheben und die Komplexität des bereitgestellten Codes zu umgehen, gibt es eine einfachere Lösung Die Verwendung der readAsDataURL-Methode wird unten dargestellt:

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

Laut der FileReader-Dokumentation codiert readAsDataURL den Inhalt als base64.

Für die asynchrone Verarbeitung kann eine abwartbare Funktion wie folgt definiert werden:

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

Hinweis: Um nur die Base64-codierte Zeichenfolge zu erhalten, entfernen Sie die Daten:/;base64 aus dem Ergebnis.

Das obige ist der detaillierte Inhalt vonWie konvertiert man einen Blob effizient von einem HTML-Formular in einen Base64-String?. 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