3

ファイル (pdf、doc、txt) をダウンロードする必要がある phonegap アプリケーションを作成しています。
phonegap 1.5.0、つまり cordova 1.5.0.js ファイルを使用しています。


http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html#FileTransferで phonegap API を調べ、
FileTransfer のダウンロード方法を使用しようとしました。以下は私が使用しているコードです:

save: function (fileName, fileType, url) {
    documentsaver.fileName = fileName;
    documentsaver.fileType = fileType;
    documentsaver.url = url;
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fsSuccess, fail);

    function fail(event) {
        jqmSimpleMessage('Error Code ' + event.target.error.code);
    }

    function fsSuccess(fileSystem) {
        documentsaver.directoryEntry = fileSystem.root;

        //Creating directory in which document should be saved if it does not exist
        documentsaver.directoryEntry.getDirectory(documentsaver.directoryName, { create: true, exclusive: false }, dirSuccess, fail);

        function dirSuccess(parent) {
            console.log('Directory Created at '+parent.fullPath+' with name '+parent.name);
            //Moving directoryEntry reference to newly created directory
            documentsaver.directoryEntry = parent;

            //Creating file which will be written
            var completeFileName = documentsaver.fileName + '.' + documentsaver.fileType;
            console.log('completeFileName === >' + completeFileName );
            var filePath = documentsaver.directoryEntry.fullPath + '/' + completeFileName;
            console.log('filePath === >' + filePath );

            var fileTransfer = new FileTransfer();
            fileTransfer.download(
                    url,
                    filePath,
                    function(entry) {
                        console.log("download complete: " + entry.fullPath);
                    },
                    function(error) {
                        console.log("download error source " + error.source);
                        console.log("download error target " + error.target);
                        console.log("upload error code" + error.code);
                    }
                );
        }



fileName:保存するファイルの名前。
fileType: fileType、つまり pdf、doc、または png。
url:実際のリソースへの URL。

以下は、Windows エミュレーターで実行したときのコンソール ログ

です

Log:"filePath === >/JarusDocuments/Personal Auto Application.pdf"
スレッド '' (0xff001f6) はコード 0 (0x0) で終了しました。
ログ:"JarusDocuments という名前のディレクトリが /JarusDocuments に作成されました"
ログ:"成功コールバックのエラー: File11 = オブジェクトはプロパティまたはメソッド 'download' をサポートしていません"
スレッド '' (0xe3201b6) はコード 0 (0x0) で終了しました。

Log:"completeFileName === >Personal Auto Application.pdf"
スレッド '' (0xf1c01de) はコード 0 (0x0) で終了しました。

FileTransfer はダウンロード方式に対応していないとのことです。ログには、必要なすべてのディレクトリを作成できると既に書かれていますが。

4

1 に答える 1

1

Phonegap 1.5 for WP7では、FileTransferオブジェクトはダウンロードできません(アップロードのみ)。ただし、1.6バージョンは、まさにそれを実行できると主張しています(リリースに関するphonegapのブログ投稿で自分で読むことができます

于 2012-04-17T11:36:30.340 に答える