我正在尝试使用
org.apache.cordova.file 1.3.2 "File"
org.apache.cordova.file-transfer 0.4.8 "File Transfer"
在浏览器平台上(我在fedora下使用chrome,带有选项--allow-file-access-from-files --allow-file-access)
但似乎它根本不起作用
resolveLocalFileSystemURI
)
exec(success, fail, "File", "resolveLocalFileSystemURI", [uri]);
被调用,但CommandProxyMap
为空 ,所以没有任何事情发生 如果某人有一个正在运作的示例或教程解释如何使其工作。
答案 0 :(得分:1)
我知道这个帖子现在已经有点年纪了,但是我想在这里更新以防万一有人遇到它,因为我...
虽然我不能具体说明更正/添加此内容,但如果您使用最新的文件和文件传输插件以及'',您现在可以使用您的浏览器中的cordova.file(在Chrome中亲自测试过)浏览器平台。
要解决cordova.file与以前版本的文件存在未定义的问题,这是我个人所做的(我使用的是Ionic,所以根据需要使用'cordova'):
> ionic plugin remove org.apache.cordova.file-transfer
> ionic plugin remove org.apache.cordova.file
> ionic platform add browser
> ionic plugin add https://github.com/apache/cordova-plugin-file.git
> ionic plugin add https://github.com/apache/cordova-plugin-file-transfer.git
> ionic run browser
答案 1 :(得分:0)
不,没有 cordova.file 。它是平台特定对象,包含指向某些位置的路径。在浏览器上,您只需使用根目录。
您需要先为浏览器申请配额。以下是我的应用程序直接的示例。
示例:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
if (isPhoneGapApp)
{
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess.bind(this), this.errorHandler);
}
else
{
navigator.webkitPersistentStorage.requestQuota(1024*1024*1024, function(grantedBytes) {
window.webkitRequestFileSystem(LocalFileSystem.PERSISTENT, grantedBytes, onFileSystemSuccess.bind(this), this.errorHandler);
}, function(e) {
console.log('Error', e);
});
}
如果 LocalFileSystem.PERSISTENT 未定义,请将其替换为1.