2017-02-27 118 views
1

我正在創建離子應用程序,我想要下載一個動態圖像,並使用cordova文件傳輸插件,但不工作時請檢查我犯的錯誤。Cordova文件傳輸插件

錯誤: - 網址沒有定義,無法讀取的不確定

$ 

scope.downloadImage = function() { 
      $http.get('http://sabkideal.com/phpapi_/cashback.php').success(function(response) { 
     $scope.data = response; 

     for (var i=0 ;i <response.length; i++) 
     { 
     var url = response[i].image; 
     var deal = response[i].id; 
     //url showing the same url every time i click and not jumping to next statement when click on send image download . 
     console.log(deal); 

     console.log(url); 

     var filename = url.split("/").pop ; 

console.log(filename); 

     var  targetPath = encodeURI(cordova.file.dataDirectory + fileName); 
     console.log(targetPath); 

    var options = {}; 
     var trustHosts = true; 

     } 


       $cordovaFileTransfer.download(url, targetPath, options, trustHosts) 
     .then(
     function(result) { 
      alert('Download success'); 
      refreshMedia.refresh(targetPath); 
     }, 
     function(err) { 
      alert('Error: ' + JSON.stringify(err)); 
     }, 
     function(progress) { 
      // progressing download... 
     }) 

}); 


    } 
+0

你檢查什麼'response.image'返回? – sam

+0

它的返回什麼都沒有.. undefined –

+0

然後,也許你沒有正確解析響應。警告或記錄響應並正確遍歷圖像路徑 – sam

回答

0

財產「分割」確保數據返回的不是不確定的。通過實施檢查,您可以檢查數據是否未定義。然後使用,而不是成功,因爲它已被棄用在Angular 1.5和以下

$http.get('http://sabkideal.com/phpapi_/cashback.php').then(function(response) { 
     $scope.data = response.data; 

     // Need to check response data so that it is not undefined 
     if ($scope.data !== undefined && $scope.data !== null && $scope.data !=="") { 
     for (var i=0 ;i <$scope.data.length; i++) 
     { 
       // Checking also need to be done here 
      if ($scope.data[i].image !== undefined && $scope.data[i].image 
             !==null && $scope.data[i].image !== "") { 
       var url = $scope.data[i].image;      
       var filename = url.split("/").pop ; 
      } 
+0

仍然越來越錯誤FileTransfer未定義 –

+0

您在問題中指出的錯誤與文件傳輸無關。確保你已經正確安裝了插件 - cordova插件添加cordova-plugin-file-transfer,並在控制器中使用注入的$ cordovaFileTransfer而不是像這樣的新FileTransfer。謝謝 – digit

+0

仍然沒有下載形式的服務器的形象服務器 –