私は phonegap と jquery を使って次のことをしようとしています。$.ajax() で画像を読み込んで localStorage に保存し、html ページに表示します。
$.ajax({
type: 'GET',
url: uri,
success: function(data, textStatus, jqXHR) {
if (textStatus === "notmodified") {
console.log("NOT modified.");
} else {
console.log("download complete. Total Bytes: " + data.length);
window.localStorage.setItem(fileName,btoa(encodeURIComponent(data)));
}
}
})
その後:
$('#info img').each( function() {
var fileName = this.src;
var pos = fileName.lastIndexOf('/');
if(pos >= 0)
fileName = fileName.substring(pos + 1);
//Check for image
var pos = fileName.lastIndexOf('.');
var ext;
if(pos >= 0)
ext = fileName.substring(pos + 1);
if(fileName in filesSynchronized)
this.src = 'data:image/' + ext +';base64,' + window.localStorage[fileName];
しかし、画像が破損しています。私は何を間違っていますか?ajax は画像のバイト配列を返しませんか? btoa が正しく動作しませんか?