8

以下に示すこのファイルシステム URI を解決しようとしています。

/var/mobile/Applications/9483756B-8D2A-42C5-8CF7-8D76AAA8FF2C/Shift.app/iqedata/5977e2e9239649d5a7e3b8a54719679f/06e2b8896e51472789fcc27575631f94.jpg

以下に示す方法を使用して、PhoneGap でこの uri を解決し、FileEntry を取得する方法を誰か教えてもらえますか?

window.resolveLocalFileSystemURI(Url, resOnSuccess, resOnError);

URI の前に「file://」または「//」を追加しようとしましたが、機能しません。

ありがとう。

4

1 に答える 1

14

PhoneGap では、[APP HASH]/Documents または [APP HASH]/tmp フォルダー以外のファイルを読み取ることはできません。これらのフォルダーのいずれかにあるデータを使用してアプリを初期化する方法が見つからない限り、別の方法でデータを取得する必要があります。以下のコードが機能することがわかりました。基本的に、ローカル ファイルを一時フォルダーにダウンロードし、ファイル エントリを提供します。

window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, function(fs){
    fs.root.getFile("temp", {create: true, exclusive: false},
      function(entry){
        fileTransfer.download(
                Url, // the filesystem uri you mentioned
                entry.fullPath,
                function(entry) {
                    // do what you want with the entry here
                    console.log("download complete: " + entry.fullPath);
                },
                function(error) {
                    console.log("error source " + error.source);
                    console.log("error target " + error.target);
                    console.log("error code " + error.code);
                },
                false,
                null
        );
    }, function(){
        alert("file create error");
    });
}, null);
于 2013-04-17T20:34:01.220 に答える