私はHTML / JavaScriptでウェブページを書いています。AJAXを使用してバックエンドから画像をダウンロードしています。画像はURLではなく生のバイト配列として表されるため、標準的な<img src="{url}">アプローチを使用することはできません。
上記の画像をユーザーに表示するにはどうすればよいですか?
私はHTML / JavaScriptでウェブページを書いています。AJAXを使用してバックエンドから画像をダウンロードしています。画像はURLではなく生のバイト配列として表されるため、標準的な<img src="{url}">アプローチを使用することはできません。
上記の画像をユーザーに表示するにはどうすればよいですか?
回答:
このHTMLスニペットを提供されたドキュメントに入れてみてください。
<img id="ItemPreview" src="">
次に、JavaScript側で、srcいわゆるデータURLを使用して画像の属性を動的に変更できます。
document.getElementById("ItemPreview").src = "data:image/png;base64," + yourByteArrayAsBase64;
または、jQueryを使用します。
$('#ItemPreview').attr('src', `data:image/png;base64,${yourByteArrayAsBase64}`);
これは、画像が非常に人気のあるPNG形式で保存されていることを前提としています。他の画像形式(JPEGなど)を使用する場合は、それに応じてURLのMIMEタイプ("image/..."一部)を変更します。
同様の質問:
[137,80,78,71,13,10,26,10,0,...]になっている場合は、次の行を使用できますdocument.getElementById("ItemPreview").src = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array([137,80,78,71,13,10,26,10,0,...])));