Wie wird base64-kodiertes Bild in HTML angezeigt, wenn es sich in einer separaten Datei befindet?

8

Ich habe ein base64-kodiertes Bild. Wenn ich es richtig in HTML einfüge funktioniert es:

%Vor%

Aber wenn ich all diesen base64 Inhalt in eine separate Datei lege, dann nicht:

%Vor%

Ich habe versucht, die Erweiterung auf .png zu ändern, aber es hilft nicht. Irgendwelche Ideen?

    
serg 12.10.2010, 17:15
quelle

4 Antworten

4

Sie müssten die korrekten HTTP-Header für Inhaltstyp, Inhaltscodierung und Zeichensatz zusammen mit der Datei senden. Beachten Sie, dass sie alle Teil der Daten sind: auch das URI-Schema. Sie sollten wirklich eine charset=utf-8 oder eine ähnliche Klausel zwischen dem Inhaltstyp und der Kodierung haben:

%Vor%     
Stan Rogers 12.10.2010 20:32
quelle
0

Das kannst du nicht tun, glaube ich. Die erste Syntax entspricht einem Pseudo-Protokoll (Schema) data: , das bedeutet, dass die Daten nicht abgerufen werden sollen irgendwo außerhalb, aber von der Attributfolge selbst. Da die "Daten" im Allgemeinen binär sind und das Attribut Text ist, wird base64 häufig verwendet.

Wenn die Daten jedoch von außerhalb der Seite abgerufen werden (http-Server oder lokales Dateisystem), müssen die Daten in roher (binärer) Form vorliegen.

Du könntest es natürlich mit etwas Javascript machen.

    
leonbloy 12.10.2010 19:22
quelle
0

Ich habe etwas ähnliches für mein Abschlussjahr-Projekt an der Universität gemacht, ich benutzte XML Docs, um auf eine Seite zu verlinken und die Bilder in einem Canvas-Element zu zeigen. Ich habe es so gemacht, dass das Bild nach einer Variablen durchsucht wurde, und dann die Variable mit Base-64-kodiertem Bild wie folgt zugewiesen:

%Vor%     
Hazard 07.08.2012 18:00
quelle
0

Sie können einfach die serverseitige Vorgehensweise übernehmen und die Datei einfach in den src -Teil des img -Tags wie folgt drucken:

%Vor%

Wo Ihre image.txt enthält: data:image/png;base64,...

    
Innan 28.03.2017 12:29
quelle

Tags und Links