Piszę stronę internetową w HTML / JavaScript. Pobieram obraz z mojego zaplecza za pomocą AJAX. Obraz jest reprezentowany jako nieprzetworzona tablica bajtów, a nie adres URL, więc nie mogę zastosować standardowego <img src="{url}">
podejścia.
Jak wyświetlić wspomniany obraz użytkownikowi?
javascript
html
cubuspl42
źródło
źródło
Odpowiedzi:
Spróbuj umieścić ten fragment kodu HTML w wyświetlanym dokumencie:
<img id="ItemPreview" src="">
Następnie po stronie JavaScript można dynamicznie modyfikować
src
atrybut obrazka za pomocą tzw. Data URL .document.getElementById("ItemPreview").src = "data:image/png;base64," + yourByteArrayAsBase64;
Alternatywnie, używając jQuery:
$('#ItemPreview').attr('src', `data:image/png;base64,${yourByteArrayAsBase64}`);
Zakłada się, że twój obraz jest przechowywany w formacie PNG, który jest dość popularny. Jeśli używasz innego formatu obrazu (np. JPEG), odpowiednio zmodyfikuj typ MIME (
"image/..."
część) w adresie URL.Podobne pytania:
Wyświetlanie tablicy bajtów jako obrazu za pomocą JavaScript
Wyświetlaj bajty jako obrazy na stronie .aspx
„data: image / jpg; base64” i podgląd obrazu jQuery w przeglądarce Internet Explorer
Konwertuj z danych binarnych na kontrolkę obrazu w ASP.NET
Jak przekonwertować tablicę bajtów na obraz?
źródło
[137,80,78,71,13,10,26,10,0,...]
, możesz skorzystać z tej linii:document.getElementById("ItemPreview").src = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array([137,80,78,71,13,10,26,10,0,...])));