Verwenden von Javascript zum Anzeigen von Blob
Bin ich beim abrufen eines Blob-Bildes aus einer Datenbank, und ich möchte in der Lage sein zu sehen, dass Bild mit javascript. Der folgende code erzeugt ein gebrochenes Bild-Symbol auf der Seite:
var image = document.createElement('image');
image.src = 'data:image/bmp;base64,'+Base64.encode(blob);
document.body.appendChild(image);
Hier ein jsFiddle, welches alle code erforderlich, einschließlich der blob. Der fertige code sollte richtig ein Bild anzuzeigen.
Danke für Eure Hilfe.
InformationsquelleAutor der Frage GAgnew | 2011-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch BLOB-Objekt direkt XMLHttpRequest. Einstellung responseType blob macht den trick. Hier ist mein code:
Und die response-Funktion sieht wie folgt aus:
Wir müssen nur, um einen leeren Bild-element in HTML:
InformationsquelleAutor der Antwort AdamZ
Wenn Sie verwenden möchten, Holen statt:
Folgen Sie bitte diesem link :
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
InformationsquelleAutor der Antwort Ogglas
In deinem Beispiel, sollten Sie
createElement('img')
.In deinem link
base64blob != Base64.encode(blob)
.Dies funktioniert, so lange, wie Sie Ihre Daten gültig http://jsfiddle.net/SXFwP/ (ich habe keine BMP-Bilder so hatte ich die Verwendung von PNG).
InformationsquelleAutor der Antwort nachito
Können Sie konvertieren den string in eine Uint8Arrayum die raw-Daten. Dann erstellen Sie eine Blob für die Daten und übergeben Sie an URL.createObjectURL(blob) zu konvertieren, den Blob in eine URL, die Sie übergeben, um img.src.
Können Sie versuchen, das komplette Beispiel an: http://jsfiddle.net/nj82y73d/
InformationsquelleAutor der Antwort nkron
War das problem, dass ich hatte hexadezimal-Daten, die benötigt werden, um in das Binärformat konvertiert, bevor Sie base64encoded.
in PHP:
InformationsquelleAutor der Antwort GAgnew