API から var byteArr=[12,-123,43,99, ...] のようなバイト配列を取得しています。次に、それを UTF-8 文字列に変換しています
var utf8_str = String.fromCharCode.apply([], new Uint8Array(byteArr));
次に、UTF-8 文字列を Base64 文字列に変換します。
var base64_str= window.btoa(utf8_str);
今、Phonegap の FileWriter で UTF-8 または Base64 文字列をファイル (xyz.pdf/xyz.jpg) に書き込んでいますが、開くと空のファイルが表示されます。
function gotWriteFile(dirEntry) {
dirEntry.getFile(FILE_NAME, {create: true, exclusive: false}, gotFileWriteEntry, failWrite);
}
function gotFileWriteEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, failWrite);
}
function gotFileWriter(writer) {
writer.onwriteend = function(evt) {
console.log("File write successfully....");
hideModal();
};
writer.write(utf8_str);
//writer.write(base64_str);
}
ソリューションガイズとは……?