Javascript 阿帕奇科尔多瓦Can';t从根目录中读取文件
我正在尝试使用cordova读取一个带有此代码的文件。但我无法在Javascript 阿帕奇科尔多瓦Can';t从根目录中读取文件,javascript,cordova,visual-studio-2013,visual-studio-cordova,Javascript,Cordova,Visual Studio 2013,Visual Studio Cordova,我正在尝试使用cordova读取一个带有此代码的文件。但我无法在fileSystem.root.getFile函数中看到警报 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) { alert("root name=" + fileSystem.root.name); //alert working //afte
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混合应用程序插件(2013)
更新已解决:
我通过转到我的bin->windows电话目录解决了这个问题。然后我将.xap文件重命名为.zip以提取内容。我发现我的文件与cordova插件一起正确部署。但是我的文件在www
目录中。所以我指定了这条路,它现在可以走了
var path = "www/index.html";
但我真的很想知道为什么科尔多瓦文件没有提到这一点,但无论如何,我现在解决了它 试试看:
var path = "./index.html";
尝试:
报告错误是因为
fileSystem.root.getFile
无法在LocalFileSystem.PERSISTENT指向的位置找到index.html。您可以记录fileSystem.root.fullPath
以查找fileSystem.root.getFile()
在设备或系统中查看的路径
您的应用程序文件(如index.html)不会存储或删除在LocalFileSystem.PERSISTENT中,除非在那里显式复制。您可以找到有关LocalFileSystem.PERSISTENT指向何处的更多详细信息,因此报告了问题错误,因为
fileSystem.root.getFile
无法在LocalFileSystem.PERSISTENT指向的位置找到index.html。您可以记录fileSystem.root.fullPath
以查找fileSystem.root.getFile()
在设备或系统中查看的路径
您的应用程序文件(如index.html)不会存储或删除在LocalFileSystem.PERSISTENT中,除非在那里显式复制。您可以在问题中找到LocalFileSystem.PERSISTENT指向何处的更多详细信息我刚刚发布了一个类似问题的答案,其中有一个工作代码示例:
顺便说一句,我认为阿披舍克的回答很有帮助。我刚刚发布了一个类似问题的答案,其中有一个工作代码示例:
顺便说一句,我认为阿披舍克的回答很有帮助。您应该将filesystem.root.name和当前路径连接起来,创建一个绝对路径,指向文件相对于电话文件系统的位置,然后将其传递到filesystem.root.getFile的path参数中。现在你的道路是不完整的。希望能有帮助 您应该连接filesystem.root.name和当前路径,以创建文件相对于电话文件系统位置的绝对路径,然后将其传递到filesystem.root.getFile的path参数中。现在你的道路是不完整的。希望能有帮助 返回的完整路径
/
和我的index.html在我的根目录中,我也提取了.xap文件,我的文件在www
folder中返回的完整路径/
和我的index.html在我的根目录中,我也提取了.xap文件,我的文件在www
folderHi中,您可以添加获取此错误代码的平台吗?@NicolasR在windows Phone windows Phone 8中?8.1?windows phone 8,因为默认情况下,visual studio的cordova插件启动了wp 8模拟器,但我部署到了wp8.1,仍然存在相同的错误。也许您可以尝试列出存储中的目录,以确保您真正处于您认为的位置,就像这个问题的OP所做的那样:这听起来很基本,但wp中的所有隔离存储部分,也许你应该检查一下嗨,你能添加你得到这个错误代码的平台吗?@NicolasR在windows Phone windows Phone 8中?8.1?windows phone 8,因为默认情况下,visual studio的cordova插件启动了wp 8模拟器,但我部署到了wp8.1,仍然存在相同的错误。也许您可以尝试列出存储中的目录,以确保您真正处于您认为的位置,就像这个问题的OP所做的那样:这听起来很基本,但wp中的所有隔离存储部分,也许你应该检查一下我很抱歉但是。。。你的答案在这里有什么帮助?@NicolasR Original poster的代码不起作用,看起来文件api的使用有问题。我给出了一个工作(测试)的示例代码,它以稍微不同的方式做相同的事情,所以我认为它会有所帮助。另一方面,我指出阿披实的回答也很好,当我发布我的回复时,OP在下面有一个不同的评论(说它不起作用)。@mentat,你的链接很有用,因为现在当我指向var path=“www/index.html”的路径时,它就起作用了代码>。所以,我会把这当作你的信用。对不起,但是。。。你的答案在这里有什么帮助?@NicolasR Original poster的代码不起作用,看起来文件api的使用有问题。我给出了一个工作(测试)的示例代码,它以稍微不同的方式做相同的事情,所以我认为它会有所帮助。另一方面,我指出阿披实的回答也很好,当我发布我的回复时,OP在下面有一个不同的评论(说它不起作用)。@mentat,你的链接很有用,因为现在当我指向var path=“www/index.html”的路径时,它就起作用了代码>。所以,我会把这当作你的荣誉。