1

CrossRider で拡張機能を構築しています。URLを持っている画像/アイコンをデータベースに保存する必要があります。これらは小さな画像であり、データベースでは問題になりません。私はそのようなものにアクセスできるかもしれませんbackground.js:

<img src="http://something.com/icon.ico" alt="icon">

そして、その画像をデータベース(キー/値データベース)にシリアライズし、後でデシリアライズして表示できるようにしたいと考えています。HTML5 のようなものFileReader.readAsDataUrl()が良いでしょうが、フォームに縛られすぎているように見えるので、その方法は使用できません。

ありがとうございます ([-|)。

4

2 に答える 2

1

1 つの解決策は、キャンバスに画像を描画してから を使用すること.toDataURL()です。html5、jquery、javascript で画像バイト文字列 (base64) を取得する方法を参照してください。たとえば。

AJAX 経由でバイナリ データを取得することもできます。新しいブラウザは、 (本質的にバイト配列)XMLHttpRequestを取得するために使用できます。ArrayBuffer詳細については、MDN: バイナリ データの送受信を参照してください。その記事で触れたよう.overrideMimeType('text\/plain; charset=x-user-defined')に、AJAXリクエストに設定することで、バイナリデータも受信できます。後者の手法は、古いブラウザや jQuery の AJAX 関数で機能します。ただし、どのタイプの AJAX でも、同一生成元ポリシーを回避する必要があります (たとえば、画像を取得/プロキシし、HTTP ヘッダーを追加するバックエンド Web サービスを作成することによってAccess-Control-Allow-Origin: *)。

バイナリ AJAX の例: http://jsfiddle.net/te7L4/

于 2013-12-19T23:34:35.737 に答える