2017-02-27 85 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

仍然没有下载形式的服务器的形象服务器 –