【问题标题】:Downloaded images do not get saved in phone gallery phonegap cordova下载的图像不会保存在手机图库中 phonegap cordova
【发布时间】:2015-08-10 08:03:50
【问题描述】:

我在尝试将图像从 URL 保存到手机图库时遇到问题。

savetoImageGallery.js

window.requestFileSystem(window.LocalFileSystem.PERSISTENT, 0, onSuccess, onError);

function onSuccess(fileSystem) {

  var directoryEntry = fileSystem.root; 

  var name = imageName.split('/').pop();
  var imageUrl = encodeURI(decodeURIComponent(AppSettings.baseApiUrl + imageName));

  var fp = fileSystem.root.toURL();
  var filepath = fp + name;
  var ft = new window.FileTransfer();
  var f =  ft.download(imageUrl, filepath,
    function (entry) {
      console.log("download complete: " + entry.toURL());
    },
    function (error) {
      console.log("download error target " + error.target);
    }
  );
}

图片从 url 正确下载,但保存到文件目录的根目录,但未显示在手机图库中。

我该如何解决这个问题?我正在使用科尔多瓦。

【问题讨论】:

    标签: javascript android angularjs cordova phonegap-plugins


    【解决方案1】:

    下一个答案仅适用于 Android 和最新版本的文件传输插件:

    我的应用也遇到了类似的问题,原因是将图像保存在我的包文件夹内的子文件夹中:

    file:///data/data//files/files

    (画廊后来没有找到那个文件夹)。

    要解决这个问题,您必须在 config.xml 中添加下一行:

    这是由于他们对插件所做的一些更改。更多信息:

    https://github.com/apache/cordova-plugin-file(在“Android 怪癖”下)

    现在还有一个问题,就是图库需要重新读取SDCard才能显示图片,所以在下载完图片后,你需要想办法重新读取内存,然后你就可以了能够看到你的图像。要测试这是否是您的问题,请在下载图像后重新启动手机,以便再次读取文件系统,然后检查您的图库。

    要解决这个问题,您必须编写自己的插件,或者您可以使用已经完成的插件(记得检查操作系统兼容性),例如:https://www.npmjs.com/package/cordova-plugin-refresh-gallery

    希望这会有所帮助。

    干杯!

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      • 2015-04-19
      • 2014-09-07
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      相关资源
      最近更新 更多