Heim > Artikel > Web-Frontend > Wie konvertiert man einen Blob effizient von einem HTML-Formular in einen Base64-String?
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!