Wie zeige ich ein Bild an, das wir über Ajax Call erhalten haben?

7

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.

    
Evgenii 01.03.2012, 05:54
quelle

5 Antworten

4

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).

    
JW. 01.03.2012, 05:57
quelle
18

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: Ссылка

    
gideon 01.03.2012 06:02
quelle
5

Sie möchten die Rohbilddaten base64-codiert zusammen mit dem data:// URI Schema .

    
Matt Ball 01.03.2012 05:56
quelle
1

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.

    
chris 01.03.2012 05:58
quelle
-1
%Vor%     
Washeen 15.12.2015 11:35
quelle

Tags und Links