Amazon S3サーバーからデータ(オーディオファイル)を取得し、それをポータブルデバイスのネイティブファイルシステムに保存したいと思います。
PhoneGap(PhoneGap-Wiki-Filesystem)を使用してデータを保存しますが、GETリクエストを作成し、返されたファイルを処理してファイルシステムに保存するにはどうすればよいですか?
Amazon S3サーバーからデータ(オーディオファイル)を取得し、それをポータブルデバイスのネイティブファイルシステムに保存したいと思います。
PhoneGap(PhoneGap-Wiki-Filesystem)を使用してデータを保存しますが、GETリクエストを作成し、返されたファイルを処理してファイルシステムに保存するにはどうすればよいですか?
次の一連の関数が役立つ場合があります。
function onDeviceReady() {
console.log("device is ready");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}
function fail() {
console.log("failed to get filesystem");
}
function gotFS(fileSystem) {
console.log("got filesystem");
// for later use
window.fileSystem = fileSystem;
// Create your app specific dir here
fileSystem.root.getDirectory(".myapp", {
create: true,
exclusive: false
},
dirReady, fail);
}
function dirReady(entry) {
// for later use
window.appRootDir = entry;
console.log(JSON.stringify(window.appRootDir));
var fileToDownload = "http://....";
var fileName = "file name";
downloadToAppRoot(fileToDownload, fileName,
function() {},
function() {});
}
function downloadToAppRoot(url, name, success, failure) {
var fileTransfer = new FileTransfer();
var filePath = window.appRootDir.fullPath + "/" + name;
fileTransfer.download(
url,
filePath,
function(entry) {
console.log("download complete: " + entry.fullPath);
success(entry);
},
function(error) {
console.log("download error source " + error.source);
if (failure) failure(error);
}
);
}
PhoneGapには、ディレクトリとファイルを作成するための広範なファイルシステムAPIがあります。詳細については、PhoneGapドキュメントをここで確認できます