質問

Firefox/IE 用のオープン検索アドオンを構築していますが、画像を Base64 エンコードする必要があるのですが、所有しているファビコンを Base64 エンコードするにはどうすればよいですか?

PHPしか知らない

役に立ちましたか?

解決

私が覚えている限り、画像データ用の xml 要素があります。これを使えます Webサイト ファイルをエンコードするには (アップロード フィールドを使用します)。次に、データをコピーして XML 要素に貼り付けます。

PHP を使用して次のようにこれを行うこともできます。

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

使用 Mozilla のガイド OpenSearch プラグインの作成に関するヘルプが必要です。たとえば、icon 要素は次のように使用されます。

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

どこ imageData はbase64データです。

他のヒント

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

私のあらすじ rfc2397 は:

Base64 でエンコードされた画像データを取得したら、「」というプレフィックスが付いた <Image></Image> タグ内にそれを配置します。data:{mimetype};base64," これは、括弧内で行われる接頭辞に似ています。 url() CSS または引用符で囲まれた値での定義 src の属性 img [X]HTML のタグ。Firefox でデータ URL をテストするには、 data:image/... URL フィールドに行を入力して Enter キーを押すと、画像が表示されるはずです。

実際にエンコードするには、PHPだけでなくすべてのオプションを調べる必要があると思います。

  1. 使用 base64 コマンドラインツール。これは GNU coreutils (v6+) の一部であり、どのバージョンでもほぼデフォルトになっています。 シグウィン, Lnあなたバツ, GnuWin32 インストールできましたが、BSD はインストールできませんでした。問題: $ base64 imagefile.ico > imagefile.base64.txt
  2. 次のような、base64 に変換するオプションを備えたツールを使用します。 メモ帳++ これには、プラグイン->MIMEツール->base64エンコードの下に機能があります
  3. ファイルを自分に電子メールで送信し、生の電子メールの内容を表示し、コピーして貼り付けます。
  4. 使う ウェブ 形状.

MIME タイプに関する注意:いずれかを使用することをお勧めします image/png image/jpeg または image/gif 私と同じように 見つからない 人気のある image/x-icon. 。そうあるべきか image/vnd.microsoft.icon?また、他の形式ははるかに短いです。

265 バイトと 1150 バイトを比較します。

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==

次の例を確認してください

<?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が私を導いたのは、 これ ソリューション (base64_encode)。お役に立てれば!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top