android - cordova 文件传输插件下载未显示在图片库中

标签 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) {
    }
  }

感谢任何帮助。

最佳答案

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

所以我做了一个插件,

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

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

关于android - cordova 文件传输插件下载未显示在图片库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32180300/

相关文章:

即使在项目中包含 opencv sdk 并添加依赖项后,android 应用程序也会要求安装 OpencvManager

java - 我可以在 android studio 中使用过时版本的 SDK 构建工具吗?

android - 如何以编程方式从另一个脚本在 sl4a 脚本编辑器中打开脚本?

cordova - 为Cordova Release App禁用Chrome调试

ios - iOS 9 应用程序关闭时如何向服务器发出请求?

android - Cordova Android 项目无法通过重复的 google/gms 进行编译

javascript - 自定义 IonicModal 未隐藏在正确位置

angular - 如何创建共享模块

Android 从通话记录中提取通话时间

ios - 在 inappbrowser iOS 10(clearcache=no;)中缓存 Cookies 在应用程序重启时不起作用 - Cordova/Ionic