Frage

Ich Baue ein OpenSearch-add-on für Firefox/IE und das Bild muss Base64-Codiert sein, so wie kann ich die base 64 encode das favicon ich haben?

Ich bin nur vertraut mit PHP

War es hilfreich?

Lösung

Soweit ich mich erinnere gibt es ein xml-element für die Bilddaten.Sie können diese website zum verschlüsseln einer Datei (verwenden Sie die upload-Feld).Dann kopieren Sie einfach und fügen Sie die Daten in das XML-element.

Sie könnte auch verwenden Sie PHP, um dies zu tun, wie so:

 <?php
        $im = file_get_contents('filename.gif');
        $imdata = base64_encode($im);      
?> 

Verwenden Mozilla ' s guide Hilfe zur Erstellung von OpenSearch plugins.Für Beispiel, die icon-element wird wie folgt verwendet:

<img width="16" height="16">data:image/x-icon;base64,imageData</>

Wo imageData ist Ihre base64-Daten.

Andere Tipps

$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));    

Meine Zusammenfassung rfc2397 ist:

Sobald Sie haben Ihre base64-kodierte Bilddaten legte es in die <Image></Image> tags mit dem Präfix "data:{mimetype};base64,"das ist ähnlich wie das voranstellen erfolgt in den Klammern url() definition in CSS oder in den angegebenen Wert der src Attribut des img tag [X]HTML.Testen kann man die Daten-url in firefox, indem Sie die data:image/... Zeile in das URL-Feld ein und drücken Sie enter, es sollte zeigen Ihr Bild.

Für die Codierung, die ich denke, wir müssen gehen über alle Ihre Optionen, nicht nur PHP, weil es so viele Möglichkeiten, base64 encode etwas.

  1. Verwenden Sie die base64 command line tool.Es ist Teil der GNU coreutils (v6+) und so ziemlich Standard in jedem Cygwin, Lichnux, GnuWin32 installieren, aber nicht die BSDs, ich habe es versucht.Problem: $ base64 imagefile.ico > imagefile.base64.txt
  2. Verwenden Sie ein Werkzeug, dass verfügt über die option zum konvertieren base64, wie Notepad++ was ist die Funktion unter plugins->MIME-tools->base64 Encode
  3. E-Mail selbst der Datei und anzeigen der raw-E-Mail-Inhalte, kopieren und einfügen.
  4. Verwenden Sie ein web form.

Ein Hinweis auf mime-Typen:Ich würde es vorziehen, verwenden Sie ein image/png image/jpeg oder image/gif als ich nicht finden können die beliebte image/x-icon.Soll das so sein image/vnd.microsoft.icon?Auch die anderen Formate sind viel kürzer.

vergleichen 265 bytes vs 1150 bytes:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEWcZjTcViTMuqT8/vzcYjTkhhTkljT87tz03sRkZmS8mnT03tT89vTsvoTk1sz86uTkekzkjmzkwpT01rTsmnzsplTUwqz89uy0jmzsrmTknkT0zqT3X4fRAAAAbklEQVR4XnXOVw6FIBBAUafQsZfX9r/PB8JoTPT+QE4o01AtMoS8HkALcH8BGmGIAvaXLw0wCqxKz0Q9w1LBfFSiJBzljVerlbYhlBO4dZHM/F3llybncbIC6N+70Q7OlUm7DdO+gKs9gyRwdgd/LOcGXHzLN5gAAAAASUVORK5CYII=

data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD/////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv///////////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb///////////9mZmb/ZmZm//////////////////////////////////////////////////////9mZmb/ZmZm////////////ZmZm/2ZmZv//////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv//////ZmZm/2ZmZv///////////2ZmZv9mZmb//////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb//////2ZmZv9mZmb///////////9mZmb/ZmZm////////////////////////////8fX4/8nW5P+twtb/oLjP//////9mZmb/ZmZm////////////////////////////oLjP/3eZu/9pj7T/M2aZ/zNmmf8zZpn/M2aZ/zNmmf///////////////////////////////////////////zNmmf8zZpn/M2aZ/zNmmf8zZpn/d5m7/6C4z/+WwuH/wN/3//////////////////////////////////////+guM//rcLW/8nW5P/x9fj//////9/v+/+w1/X/QZ7m/1Cm6P//////////////////////////////////////////////////////7/f9/4C+7v8xluT/EYbg/zGW5P/A3/f/0933/9Pd9//////////////////////////////////f7/v/YK7q/xGG4P8RhuD/MZbk/7DX9f//////4uj6/zJh2/8yYdv/8PT8////////////////////////////UKbo/xGG4P8xluT/sNf1////////////4uj6/zJh2/8jVtj/e5ro/////////////////////////////////8Df9/+gz/P/////////////////8PT8/0944P8jVtj/bI7l/////////////////////////////////////////////////////////////////2yO5f8jVtj/T3jg//D0/P///////////////////////////////////////////////////////////3ua6P8jVtj/MmHb/+Lo+v////////////////////////////////////////////////////////////D0/P8yYdv/I1bY/9Pd9///////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

Überprüfen Sie das folgende Beispiel

<?php
    // First get your image
    $image = 'path-to-your-picture/image.jpg';
    $picture = base64_encode(file_get_contents($image));
    echo '<img width="100" height="100" src="data:image/jpg;base64,'. $picture .'" />'
    ?>

Google führte mich zu diese Lösung (base64_encode).Hoffe, das hilft!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top