Javascript 下载的图像无法保存在phone gallery phonegap cordova中
我在尝试将图像从URL保存到电话库时遇到问题 savetoImageGallery.jsJavascript 下载的图像无法保存在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
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卡才能显示图像,因此下载图像后,您需要找到一种方法再次读取内存,然后才能看到您的图像。要测试这是否是您的问题,请在下载图像后重新启动手机,以便它再次读取文件系统,然后检查您的多媒体资料
要解决这个问题,您必须编写自己的插件,或者您可以使用已经完成的插件(请记住检查操作系统兼容性),如下所示:
希望这有帮助
干杯