Ich schreibe eine Webseite in HTML / JavaScript. Ich lade mit AJAX ein Bild von meinem Backend herunter. Das Bild wird als Rohbyte-Array dargestellt, nicht als URL, daher kann ich den Standardansatz nicht verwenden <img src="{url}">
.
Wie zeige ich dem Benutzer das erwähnte Bild an?
javascript
html
cubuspl42
quelle
quelle
Antworten:
Versuchen Sie, dieses HTML-Snippet in Ihr bereitgestelltes Dokument einzufügen:
<img id="ItemPreview" src="">
Auf der JavaScript-Seite können Sie dann das Bildattribut
src
mit der sogenannten Daten-URL dynamisch ändern .document.getElementById("ItemPreview").src = "data:image/png;base64," + yourByteArrayAsBase64;
Alternativ können Sie jQuery verwenden:
$('#ItemPreview').attr('src', `data:image/png;base64,${yourByteArrayAsBase64}`);
Dies setzt voraus, dass Ihr Bild im PNG-Format gespeichert ist, was sehr beliebt ist. Wenn Sie ein anderes Bildformat (z. B. JPEG) verwenden, ändern Sie den MIME-Typ (
"image/..."
Teil) in der URL entsprechend.Ähnliche Fragen:
Anzeigen eines Byte-Arrays als Bild mit JavaScript
Zeigen Sie Bytes als Bilder auf einer ASPX-Seite an
'data: image / jpg; base64' und jQuery-Bildvorschau in Internet Explorer
Konvertieren von Binärdaten in ein Bildsteuerelement in ASP.NET
Wie konvertiere ich ein Byte-Array in ein Bild?
quelle
[137,80,78,71,13,10,26,10,0,...]
, können Sie diese Zeile verwenden:document.getElementById("ItemPreview").src = "data:image/png;base64," + btoa(String.fromCharCode.apply(null, new Uint8Array([137,80,78,71,13,10,26,10,0,...])));