HTML5を使用すると、データをローカルに保存できます。これはすばらしいことだと思います。たとえば、次のように使用できます。
var store = window.localStorage;
store.setItem('foo', "hellow world");
var test = store.getItem('foo');
// test should = "hellow world"
HTMLでは、ソースを次のように設定することで、画像を動的に表示できます。
"data:image/jpg;base64," + (base64string)
だから私の質問は、html5ローカルストレージを利用できるように、バイナリデータをbase64文字列に変換するにはどうすればよいですか?
たとえば、私ができればそれは素晴らしいでしょう:
$.ajax({
url: 'someImage.png',
type: 'POST',
success: function (r) {
// here I want to convert r to a base64 string !
// r is not binary so maybe I have to use a different approach
var data = ConvertToBase64(r);
document.getElementById("img").src = "data:image/png;base64," + data;
},
});
html5を使用して画像をキャンバスにラップし、それをbase64stringに変換することで、この問題を解決できることはわかっています。また、その画像のbase64文字列データ(someImage.aspx)を送信する特定のサービスをサーバー上で作成することもできます。サーバーからバイナリデータを取得してbase64文字列に変換できるかどうかを知りたいだけです。