我一直在使用Cordova(使用iOS)我正在开发的应用程序已有一段时间了。我以前能够很好地访问文件系统。
我通过命令行界面安装了带有Node的cordova 3.3.0并添加了我需要的所有插件(当然几乎所有的插件 - 包括文件)
当我列出插件时,我得到: Michaels-MacBook-Pro:你好michael $ cordova插件ls
[ 'org.apache.cordova.battery-status',
'org.apache.cordova.console',
'org.apache.cordova.device-motion',
'org.apache.cordova.device-orientation',
'org.apache.cordova.dialogs',
'org.apache.cordova.file',
etc....']
但是,我尝试运行以下测试代码:请注意,代码位于index.js文件中,该文件在index.html中正确引用
Index.html参考:
script type="text/javascript" src="cordova.js"
script type="text/javascript" src="js/index.js"
index.js:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
alert("ready");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 5*1024*1024, gotFS, fail);
}
function gotFS(fileSystem) {
alert("got fs");
alert(fileSystem.root.fullPath);
}
我得到的只是“准备好” 如果我尝试提醒(window.requestFileSystem);我得到了不确定。
请有人帮助我解决这个问题吗?我认为没有理由不这样做。
非常感谢任何帮助!
亲切的问候,
迈克尔麦克唐纳德答案 0 :(得分:1)
您是否添加了文件传输插件?
cordova plugin add org.apache.cordova.file-transfer
答案 1 :(得分:0)
如果您正在使用chrome测试您的应用,则可能必须首次运行此操作以在文件系统上保留一些空间:
// Request Quota (only for File System API)
window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024, function(grantedBytes) {
window.webkitRequestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler);
}, function(e) {
console.log('Error', e);
});
https://developers.google.com/chrome/whitepapers/storage
的更多信息我不确定这个解决方案是否符合您的情况,因为您说您的应用程序过去有效,但请试一试。