2012-03-03 8 views
4

私は、ユーザーにbase64でエンコードされた画像の範囲を表示したいアプリケーションを作成しています。それらはdata-urlを使用して表示されます。ユーザーが画像を保存したい場合は、右クリックして保存(またはフォルダにドラッグ)するだけです。ユーザーが保存するときのBase64画像の制御方法

解決済みのファイル名を制御する方法はありますか?現在のところ、Chromeは単に「ダウンロード」するだけで、イメージとして認識することさえできません。これはどんな方法でもできますか?

私はChromeで動作させる必要があります。任意のヘルプ

答えて

3

データURIに画像の適切なMIMEタイプを設定していることを確認してください。これでChrome 17のファイル拡張子が修正されました。ファイルは "download.png"としてダウンロードされ、正常に開かれました。あなたが本当にファイル名を完全に制御する必要がある場合は

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA 
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 
9TXL0Y4OHwAAAABJRU5ErkJggg=="/> 

しかし、あなたは、aタグのHTML5「ダウンロード」属性を利用することができ、ファイル名を設定し、そしてだろう、あなたの画像データをBlobオブジェクトを作成します使用されてダウンロードされます。もっとここにhttp://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

読む:

はこちらのデモをご覧くださいhttp://dev.w3.org/2009/dap/file-system/file-writer.html

+0

ありがとうございました、これは私が必要なものだけです!あなたは私がdatauriのMIMEタイプを見逃していたことは間違いありませんでした。また、データuriをhref、ファイル名をdownload-attributeとして、aタグ内にイメージをラップします。これにより、ユーザーは画像をクリックしてダウンロードすることができます。私はまだ画像がデスクトップにドラッグされたときにファイル名を選択できませんが、これは私にとってはうまくいきます。再度、感謝します。 – JPuge

関連する問題