2015-10-15 4 views
0

Я хотел бы загрузить PDF-файл с сервера и сохранить его в локальном хранилище этого устройства. Для этого я нашел cordova-plugin-file-transfer.Cordova: Uncaught ReferenceError: FileTransfer не определен

работает этот кусок кода:

var fileTransfer = new FileTransfer(); 
var uri = encodeURI("http://example.com/file.pdf"); 
var fileURL = "/Martin/Downloads/"; 

function openDocument() { 
    fileTransfer.download(
    uri, 
    fileURL, 
    function(entry) { 
     console.log("download complete: " + entry.toURL()); 
    }, 
    function(error) { 
     console.log("download error source " + error.source); 
     console.log("download error target " + error.target); 
     console.log("upload error code" + error.code); 
    }, 
    false, 
    { 
     headers: { 
      "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA==" 
     } 
    } 
); 
} 

дает мне этот вопрос:

Uncaught ReferenceError: FileTransfer is not defined

Я уже удалены все мои платформы и переустановить их. После этого я удалил все свои плагины и переустановил их.

Совместимый thread не мог мне помочь.

Что еще я мог сделать?

+0

вы установили плагин? вы включили cordova.js в свой index.html? ожидаете ли вы события устройства, прежде чем пытаться использовать плагин? – jcesarmobile

+0

Вы уверены, что получаете доступ к плагину ПОСЛЕ устройства? –

+0

Я установил плагин со следующими командами: плагин cordova add cordova-plugin-file. Сделав это, я сделал: плагин cordova добавляет cordova-plugin-file-transfer. Командный плагин cordova говорит, что плагины установлены. Кордова также включена в заголовок. Как проверить, используется ли плагин перед событием? – jublikon

ответ

1

не функция, а инициализация переменных, запущенных до вызова устройства.

вот код, который работал для меня:

document.addEventListener("deviceready", onDeviceReady, false); 

var fileTransfer; 
var uri; 
var fileURL; 

// use file transfer after onDeviceReady() was called   
function onDeviceReady() { 
    fileTransfer = new FileTransfer(); 
    uri = encodeURI('http://example.com/file.pdf'); 
    fileURL = '/file.pdf'; 
} 

function openDocument() { 

    fileTransfer.download(
    uri, 
    fileURL, 
    function(entry) { 
     alert("download complete: " + entry.toURL()); 
     console.log("download complete: " + entry.toURL()); 
    }, 
    function(error) { 
     console.log("download error source " + error.source); 
     console.log("download error target " + error.target); 
     console.log("upload error code" + error.code); 
     alert("download error source " + error.source); 
    }, 
    false 
); 
} 
Смежные вопросы