11

(Nihilogic のcanvas2image JavaScript ライブラリを使用して) HTML キャンバスを画像に変換する小さなテスト Web アプリを作成し、キャンバスを生成された画像に置き換え、ユーザーにその画像を (長く) タッチするように通知するメッセージを表示します。スマートフォンに保存します。

私が遭遇した問題は、Android のデフォルトの Web ブラウザー (「インターネット」) が、画像を表す base64 でエンコードされたデータ ストリームをレンダリングせず、代わりに疑問符記号を表示することです。これを解決する方法はありますか?はいの場合、どのように?

4

2 に答える 2

1

@goldenparrot のコメントに基づいて画像を表示できます

<img src="data:image/png;base64,BASE64_STRING_HERE" />

ページがロードされたときに base64 データがすでに存在する場合 (および提案された css background-image も使用)。しかし、まったく同じデータ列を動的に入力するとなぜかうまくいきません。base64 データで静的にロードされたイメージでさえ、問題があります。長いクリックにまったく反応しないため、ダウンロードできません。Android 2.3.6 を使用しています。

編集:追加のダウンロードリンクを追加することもできます

<a href="data:application/octet-stream;base64,BASE64_STRING_HERE">download file</a>

しかし、それは私にはうまくいきませんでした。Android は、そのファイルの内容をテキストとして表示しただけです。通常のデスクトップ Web ブラウザは「ファイルのダウンロード」ダイアログを開きましたが、そのファイルの拡張子を提案しなかったため、ユーザーは手動で追加する必要があります。

Browser/HTMLも参照してくださいsrc="data:image/jpeg;base64..." からの画像の強制ダウンロード

私のテスト HTML ページはhttp://kuitsi.bitbucket.org/stackoverflow12113616.htmlです。

于 2012-09-06T10:29:36.593 に答える