Der Webserver generiert Bilder und sendet sie direkt an den Client. Aus Sicherheitsgründen gibt es keine URLs zu den Bildern. Zum Beispiel, wenn ich /images/25
URL im Browser Server eingeben wird es senden und Browser wird es herunterladen.
Nun möchte ich dieses Bild von Ajax aufrufen und es dann auf der bestehenden Seite anzeigen. Ich kann die Bilddaten bekommen. Meine Frage ist: Wie kann ich ein Bild anzeigen?
%Vor%Aktualisieren
Ich entschuldige mich dafür, so dumm zu sein. Danke, JW. Natürlich kann ich einfach img Tag mit src auf meine URL setzen. Es spielt keine Rolle, ob dies eine direkte URL zu einer Bilddatei ist oder der Server sendet sie dynamisch.
Es klingt also wie dort ist eine URL, und es ist /images/25
.
Soweit ich weiß, können Sie keine Bilddaten anzeigen, die Sie von einem AJAX-Anruf erhalten *. Aber warum nicht einfach die URL in ein <img>
-Tag setzen? Es spielt für den Browser keine Rolle, dass das Bild vom Server generiert wird, anstatt von einer Datei zu lesen.
* BEARBEITEN: Ich habe mich geirrt; Sehen Sie sich die Antwort von Gideon an, wenn Sie wirklich einen AJAX-Aufruf benötigen (z. B. müssen Sie eine POST-Anfrage stellen oder bestimmte Header senden).
Um Matts Antwort zu erweitern, könnten Sie base64-codierte URLs verwenden. Dies ist ein Beispiel aus Wikipedia , wie das img-Tag aussehen würde:
%Vor%Sie benötigen ein leeres Bild:
%Vor%Ihr Server muss das Bild als base64-String zurückgeben, dann können Sie Folgendes tun:
%Vor%Siehe MDN-Referenz für weitere in base64-codierte URLs.
Ich habe hier eine kurze Demo gemacht: Ссылка
Sie möchten die Rohbilddaten base64-codiert zusammen mit dem data://
URI Schema .
Ich würde darauf bauen, dass es so ist, als wenn Sie es per PHP oder ASP oder was auch immer gerendert hätten. nur etwas einfaches wie
%Vor%obwohl ich falsch liegen könnte. Alles hängt davon ab, was hinter den Kulissen passiert, damit dieses Bild zu dem wird, was es ist. Wenn es eine PHP-Datei passieren muss, weil es ein base_64-Bild ist und codiert werden muss, oder was auch immer der Fall ist, dann muss das entsprechend gemacht werden.
Tags und Links javascript jquery