2015-07-30 4 views
0

Я пытаюсь использовать плагин FileTransfer для Ionic/Cordova.Ионный проект Доступ к FileTransfer

В моих журналах, я получаю это: 845752 error Error: Can't find variable: FileTransfer

Когда я запускаю эту команду в командной строке: ionic emulate ios -lc

я делаю ionic build ios первый, а затем команда ionic emulate, но я до сих пор дон По какой-то причине у меня нет доступа к этому плагину.

Я новичок в Ionic/Phonegap/Cordova, и я думаю, что есть шаг, который мне не хватает?

+0

вы впрыснуть вашу зависимость правильно? вы включили в файл index.html все правильные js-файлы? можете ли вы опубликовать код? –

ответ

2

Это пример загрузки и загрузки плагинов FileTransfer, и он отлично работает в моем iphone6 ​​или имитирует, вы можете попробовать. Прежде чем попробовать, вам нужно запустить команду «cordova plugin ls» в вашем проекте, чтобы убедиться, что вы установили эти плагины. (Они уже экспортировать в окно, просто использовать его.)

  1. com.contraterrene.GapFile 1.1.0 "GapFile"
  2. Cordova-плагин-файл 2.1.0 "Файл"
  3. Cordova-plugin- передачи файлов 1.2.2-DEV "File Transfer"
 

    $scope.download = function() { 
     var fileTransfer = new FileTransfer(); 
     // local save path. 
     var fileURL = cordova.file.documentsDirectory + "remotefile"; 
     // download url 
     var uri = encodeURI("http://remoteserver/remotefile"); 
     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": "" 
       } 
      }); 
    }; 
    $scope.write = function() { 
     GapFile.writeFile("text_" + Date.parse(new Date()) + ".txt", "hello, i am a file. send me to server", function(fileUrl) { 
      $scope.fileUrl = fileUrl; 
      console.log("Create File: " + fileUrl); 
     }, function(error) { 
      console.log("ERROR: " + error); 
     }); 
    }; 

    $scope.upload = function() { 
     console.log("Upload File: " + $scope.fileUrl); 

     function win(r) { 
      console.log("Code = " + r.responseCode); 
      console.log("Response = " + r.response); 
      console.log("Sent = " + r.bytesSent); 
     } 

     function fail(error) { 
      console.log("upload error source " + error.source); 
      console.log("upload error target " + error.target); 
     } 

     var uri = encodeURI("http://your_remote_server/upload.php"); 

     var options = new FileUploadOptions(); 
     options.fileKey = "file"; 
     options.mimeType = "text/plain"; 

     var headers = { 
      'from': 'ios-app' 
     }; 
     options.headers = headers; 
     var ft = new FileTransfer(); 

     ft.upload($scope.fileUrl, uri, win, fail, options); 
    } 

0

Плагин передачи файлов cordova не поддерживается браузером или эмулятором. Вы не можете протестировать его в своем браузере. Вам нужно запустить приложение на мобильных устройствах, чтобы проверить плагин cordova. Затем вы можете использовать отладку chrome для проверки плагина в браузере i.e chrome://inpect#devices