我正在开发一个移动应用程序,它应该从互联网上下载图像并将其保存在设备上以供离线使用。
我正在使用apache cordova on visual studio 2015
和FileTransfer
插件,它在Android上运行没有任何问题。
但是当我在Windows手机上测试时,它会引发异常
"0x80070005 - JavaScript runtime error: Access is denied."
这是我正在做的事情的样本:
var uri = encodeURI(downloadPath);
window.requestFileSystem(window.LocalFileSystem.PERSISTENT, 0, function (fs) {
var fileTransfer = new FileTransfer();
fs.root.getDirectory('cordova', { create: true });
var filePath = fs.root.fullPath + '/cordova/' + downloadPath.split('/').pop();
fileTransfer.download(
uri,
fileURL,
function (entry) {
$("#dli").attr("src", entry.toURL());
},
function (error) {
alert("download error source " + error.source);
alert("download error target " + error.target);
alert("upload error code" + error.code);
},
false,
{
}
);
});
我也尝试将代码包装到"MSApp.execUnsafeLocalFunction"
函数中,但没有运气......