BLOB を HTML フォームから Base64 文字列に効率的に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-17 16:51:02
オリジナル
683 人が閲覧しました

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

Blob を Base64 に変換

このコーディング クエリでは、ユーザーは HTML フォーム入力から取得した BLOB を Base64 文字列に変換しようとします。提供されたコードは、createObjectURL を使用して URL オブジェクトを作成することによって画像を正常に表示しますが、readAsBinaryString を使用した目的の変換の結果、ソース変数が null になります。

この問題を解決し、提供されたコードの複雑さを回避するには、より簡単な解決策を使用します。 readAsDataURL メソッドの利用方法を以下に示します。

var reader = new FileReader();
reader.readAsDataURL(blob); 
reader.onloadend = function() {
  var base64data = reader.result;                
  console.log(base64data);
}
ログイン後にコピー

FileReader のドキュメントによると、readAsDataURL はコンテンツを Base64 としてエンコードします。

非同期処理の場合、待機可能な関数は次のように定義できます。

function blobToBase64(blob) {
  return new Promise((resolve, _) => {
    const reader = new FileReader();
    reader.onloadend = () => resolve(reader.result);
    reader.readAsDataURL(blob);
  });
}
ログイン後にコピー

注: Base64 でエンコードされた文字列のみを取得するには、結果から data:/;base64 を削除します。

以上がBLOB を HTML フォームから Base64 文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート