我正在尝试使用此代码使用cordova读取文件。但我无法在fileSystem.root.getFile
函数内看到警报。
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function (fileSystem) {
alert("root name=" + fileSystem.root.name); //alert working
//after this not working
var path = "index.html";
fileSystem.root.getFile(path, null, function (fileEntry) {
alert('file entry');
fileEntry.file(gotFile, fail);
}, fail);
}, fail);
function fail(error) {
alert("File System Error:" + error.code);
}
我收到错误代码1
。我正在使用visual studio cordova hybrid app插件(2013)。
我通过转到我的垃圾箱解决了问题 - > Windows手机目录。然后我将.xap文件重命名为.zip以提取内容。我发现我的文件与cordova插件一起正确部署。但我的文件在www
目录中。所以我把路径分开了,现在就可以了;
var path = "www/index.html";
但我真的很想知道为什么cordova文档没有提到这个,但无论如何我现在解决了它;
答案 0 :(得分:2)
报告错误是因为fileSystem.root.getFile
无法在LocalFileSystem.PERSISTENT指向的位置找到index.html。您可以记录fileSystem.root.fullPath
以查找fileSystem.root.getFile()
在您的设备或系统中查看的路径。
您的应用程序文件(如index.html)不会在LocalFileSystem.PERSISTENT中存储或删除,除非在那里明确复制它。您可以在问题Where does LocalFileSystem.PERSISTENT point to?
中找到有关LocalFileSystem.PERSISTENT所指的位置的更多详细信息。答案 1 :(得分:2)
我刚刚在这里用工作代码示例发布了一个类似问题的答案: Loading an array stored in a text file in phonegap
我认为Abhishek的回答非常有帮助。
答案 2 :(得分:1)
尝试:
var path = "./index.html";
答案 3 :(得分:0)
您应该连接filesystem.root.name和当前路径,以创建相对于电话文件系统的文件位置的absoulte路径,然后将其传递给fileSystem.root.getFile的path参数。现在你的路径是不完整的。希望它有所帮助!!