Как скачать файл с помощью phonegap 1.5 (Cordova) для blackberry и windows mango?


Я пишу приложение phonegap, которое должно загрузить файл (pdf, doc, txt).
Я использую phonegap 1.5.0, то есть cordova 1.5.0.файл js.

Я заглянул в API phonegap на
http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html#FileTransfer
и пытается использовать метод загрузки 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);
                    }
                );
        }



имя файла: имя файла, который я сохраняю.
тип файла: тип файла-pdf, doc или png.
url: url-адрес фактического ресурса.

Ниже приведен журнал консоли, когда я запускаю его на эмуляторе windows:

Журнал: "это режиссер"
Поток " (0xf0a01c6) вышел с кодом 0 (0x0).
Журнал:"путь_к_файлу === >/JarusDocuments/личного авто применение.pdf "
Поток " (0xff001f6) вышел с кодом 0 (0x0).
Log: "каталог, созданный в /JarusDocuments с именем JarusDocuments"
Log: "ошибка в успешном обратном вызове: File11 = Объект не поддерживает свойство или метод 'download' "
Поток " (0xe3201b6) вышел с кодом 0 (0x0).
Поток " (0xf18014e) вышел с кодом 0 (0x0).
Log: "completeFileName = = = >личное автоматическое приложение.pdf "
Поток " (0xf1c01de) вышел с кодом 0 (0x0).

Это говорит о том, что FileTransfer не поддерживает метод загрузки. Хотя журнал уже говорит, что он способен создавать все каталоги, которые я хочу.

1 3

1 ответ:

В Phonegap 1.5 для WP7 объект FileTransfer не способен загружать (только загружать). Версия 1.6, однако, утверждает, что способна сделать именно это (вы можете прочитать это сами в блоге phonegap о выпуске здесь)