1

Amazon S3サーバーからデータ(オーディオファイル)を取得し、それをポータブルデバイスのネイティブファイルシステムに保存したいと思います。

PhoneGap(PhoneGap-Wiki-Filesystem)を使用してデータを保存しますが、GETリクエストを作成し、返されたファイルを処理してファイルシステムに保存するにはどうすればよいですか?

4

1 に答える 1

3

次の一連の関数が役立つ場合があります。

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ドキュメントをここで確認できます

于 2012-06-06T19:15:01.853 に答える