cordova filetransfer插件下载不会显示在图片库中

时间:2015-08-24 10:41:58

标签: android cordova ionic-framework

我有这个代码从URL下载图像并保存在我的手机设备中,但问题是它没有显示在手机设备的图像库中,而是显示在文件存储目录中。所以,我想让它出现在图片库中。

$scope.downloadImage = function(images) {
    var imageName = angular.fromJson(images);
    $scope.$applyAsync(function() {
      $scope.indexchosen === undefined ? $scope.indexchosen = 0 : $scope.indexchosen;
      console.log($scope.indexchosen)
      index = $scope.indexchosen;
      imageToDownload = imageName[index].filename; 
    })

    $scope.$applyAsync(function() {
      window.requestFileSystem(window.LocalFileSystem.PERSISTENT, 0, onSuccess, onError);
    });

    function onSuccess(fileSystem) {
      var directoryEntry = fileSystem.root; 
      countImage+=1; 

      var name = countImage + '-' + imageToDownload.split('/').pop();
      var imageUrl = encodeURI(decodeURIComponent(AppSettings.baseApiUrl + imageToDownload));
      var fp = fileSystem.root.toURL();

      var filepath = fp + '/' + name;
      console.log(filepath)
      var ft = new window.FileTransfer();
      var f =  ft.download(imageUrl, filepath,
        function (entry) {
          $cordovaToast.show("Image Saved", "long", "bottom");
        },
        function (error) {
        }
      );
    }
    function onError(error) {
    }
  }

感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

如果下载成功,您应该重新扫描您的设备存储,因为Cordova不知道该文件是否已下载。

所以我做了一个插件,

这是一个在下载后更新图库的插件。

https://github.com/pouu69/cordova-plugin-gallery-refresh