Cordova 3.3 - fileSystem.root.fullPath返回“/”而不是完整路径

时间:2014-02-26 09:25:15

标签: ios cordova cordova-3

我有一段使用Cordova 2.7的代码。我将我的应用程序升级到Cordova 3.3,同时升级了我开发的所有自定义插件。

我成功地使用Cordova 2.7获取了iOS上Documents文档目录的完整绝对路径,但是对于Cordova 3.3,它只返回/ for fullPath

这是我的代码:

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function gotFS(fileSystem) {
    alert("entered gotFS: " + fileSystem.root.fullPath);
}

我在iPad模拟器7.0上测试了这个(用Cordova 2.7给出了正确的结果)

虽然我可以通过其他方法获得路径,但我更愿意使用Cordova API。

API文档没有提及任何相关内容。知道什么可能是错的吗?

2 个答案:

答案 0 :(得分:9)

尝试将fullpath更改为toURL()并测试

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);

function gotFS(fileSystem) {
  alert("entered gotFS: " + fileSystem.root.toURL());
}

答案 1 :(得分:5)

由于很少有用户请求我的回答,以下是我设法获取Documents目录路径的方法:

var documentsDirectoryPath = decodeURIComponent(window.location.href);
documentsDirectoryPath = documentsDirectoryPath.substring("file://".length);
documentsDirectoryPath = documentsDirectoryPath.substring(0, documentsDirectoryPath.indexOf("/<<YOUR_APP_NAME>>.app/www/index.html"));
documentsDirectoryPath += "/Documents";

请务必将 YOUR_APP_NAME 替换为您应用的名称