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?
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:
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.
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%