Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下载的图像无法保存在phone gallery phonegap cordova中_Javascript_Android_Angularjs_Cordova_Phonegap Plugins - Fatal编程技术网

Javascript 下载的图像无法保存在phone gallery phonegap cordova中

Javascript 下载的图像无法保存在phone gallery phonegap cordova中,javascript,android,angularjs,cordova,phonegap-plugins,Javascript,Android,Angularjs,Cordova,Phonegap Plugins,我在尝试将图像从URL保存到电话库时遇到问题 savetoImageGallery.js window.requestFileSystem(window.LocalFileSystem.PERSISTENT, 0, onSuccess, onError); function onSuccess(fileSystem) { var directoryEntry = fileSystem.root; var name = imageName.split('/').pop(); v

我在尝试将图像从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正确下载,但会保存到文件目录的根目录中,但不会显示在手机图库中

我如何解决这个问题?我用的是科尔多瓦

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

我的应用程序也有类似的问题,原因是它将图像保存在我的软件包文件夹中的子文件夹中:

file:///data/data/<package-name>/files/files file:///data/data//files/files (画廊后来找不到该文件夹)

要解决此问题,必须在config.xml上添加下一行:

<preference name="AndroidPersistentFileLocation" value="Compatibility" /> 这是因为他们对插件做了一些更改。更多信息:

(在“安卓怪癖”下)

现在,还有一个问题,画廊需要再次读取SD卡才能显示图像,因此下载图像后,您需要找到一种方法再次读取内存,然后才能看到您的图像。要测试这是否是您的问题,请在下载图像后重新启动手机,以便它再次读取文件系统,然后检查您的多媒体资料

要解决这个问题,您必须编写自己的插件,或者您可以使用已经完成的插件(请记住检查操作系统兼容性),如下所示:

希望这有帮助

干杯