Render-byte [], um das Bild mithilfe von jQuery
Derzeit lese ich ein Bild aus einer SQL Server-Datenbank als byte[]. Ich möchte das Bild entweder als byte[] oder ein echtes Bild von jQuery dynamisch laden.
Wie und was wäre der beste Ansatz, um dies zu tun?
Vielen Dank im Voraus. 🙂
Edit: Hier ist die Lösung:
- Server-side /C#:
string json = JsonConvert.SerializeObject(employee);
- Client-side /Ajax:
$('#image').attr('src', "data:image/jpg;base64,"+employee.Image);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Return das byte[] von einem Web-Server mit dem korrekten content-type setzen, so dass Sie sollten in der Lage sein, um es als Quelle für ein Bild-tag. Sollte die einfachste Lösung sein.
Wenn Sie müssen es tun, auf diese Weise können Sie Bild einfügen von Daten direkt in das src-Attribut mit der folgenden syntax:
Ersetzen mit der Bildtyp (jpg, png, gif) und mit Ihren Daten, codiert in base64.
Jedoch, wie decyclone sagt, der beste Weg, dies zu tun wäre, im erstellen einer getrennten Seite, die gibt nur Ihre Bild-Daten, und sendet die entsprechenden content-type-header. Dann legen Sie die image-src, um auf diese Seite zeigen.
Ich glaube nicht, dass mit jQuery ist die richtige Sache zu tun hier. Es ist eine clientseitige Sache. JavaScript, um genau zu sein.
In der Regel, die Sie erstellen eine Seite, die schreibt alle diese bytes im array mit
Response.Write()
und das setzen des content-type auf jpeg, bmp, etc. je nach image-Typ.Derzeit lese ich ein Bild von einem
JSON
Antwort. Ich möchte diesen kodierten string in das image-Steuerelement aufJquery
Vorlage und laden Sie es dynamisch, Wie und was wäre der beste Ansatz, um dies zu tun? Vorlage ist wie folgt:Js-Datei ist wie folgt:
JSON
Antwort lautet wie folgt:weniger Speicherplatz zum kopieren der kodierten string mit Bild.