我正在使用Cordova(5.4)为Android和Iphone创建应用程序。一切都很好,除非我想用科尔多瓦的插件“FileTransfer”下载图片,并且我在路径上遇到了一些问题。FileTransfer Cordova下载路径
如果我使用文件传输这样的:
uri = encodeURI('http://example.com/myImage.png'),
fileURL = '/sdcard/Download/' + 'myImage.png',
fileTransfer.download(
uri,
fileURL,
function (entry) {
console.log("download complete: " + entry.fullPath);
},
function (error) {
console.log(error);
},
false,
{
headers: {
"authorization": 'Bearer ' + token
}
}
);
这工作得很好。但是我想要一个适用于Android和Iphone(不是静态的)的路径,并且如果可能的话,用户可以直接在他们的画廊中看到这些图像。
检查我试过插件描述:
fileURL = 'cdvfile://localhost/persistent/myImg.png'
但这种失败与FileTrasferError:
"/data/data/com.aco.plus/files/files/myImg.png: open failed: ENOTDIR (Not a directory)"
检查答案围绕我想也是:
uri = encodeURI('http://example.com/myImage.png');
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) {
fileTransfer.download(
uri,
fileSystem.root.toURL() + '/' + 'myImg.png',
function (entry) {
console.log("download complete: " + entry.fullPath);
},
function (error) {
console.log(error);
},
false,
{
headers: {
"authorization": 'Bearer ' + token
}
}
);
});
而且我得到了同样的错误。
我很迷茫。任何人都知道我能做什么?我相当肯定,这是一个比静态路由更好的方式。
我知道它很老的问题,但你能解决这个问题问题。因为我在将文件保存到下载文件夹时也遇到了麻烦。 – Ironic
如果下载成功,您应该重新扫描设备存储,因为Cordova不知道文件是否已下载。所以我做了一个插件,它是一个插件,下载后更新画廊。 [cordova-plugin-gallery-refresh](https://www.npmjs.com/package/cordova-plugin-gallery-refresh) –