(Phonegap + iOS) 为什么在设备或模拟器上获取文件系统的完整路径时,我只得到 "/"?

11

设备准备好后,我运行这个简单的代码:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){

var imagesRootPath = fs.root.fullPath;
navigator.notification.alert(imagesRootPath);


},
function(evt) { navigator.notification.alert(evt.target.error.code)});
在MAC Pro上使用Phonegap 3.2时,当代码在模拟器中运行时,imagesRootPath是一个很长的字符串路径。当我在iPod设备上运行此代码时,我得到了另一个不同的长路径。
现在,在笔记本电脑上运行此代码,该笔记本电脑与Mac Pro相同,但具有Phonegap 3.3,则在模拟器中只得到“ / ”(斜杠)路径,并且在部署Phonegap应用程序到设备上时也是这样。
我已经为文件API进行了适当的插件配置。
可能出了什么问题?
谢谢!

我认为你的问题表述不够清晰,很难理解情况。我建议你使用列表样式编辑你的内容。例如,“完美”或“长”的含义对于试图回答问题的人来说毫无意义。为什么不把结果具体化呢? - user1028880
你不理解什么?我解释了两种情况的区别并提出了明确的问题,但是我只收到了一个斜杠的 fullPath。 - Rahnzo
当不同时现在时,但这是一个糟糕的例子来解释事情。只有在你的头脑中有两种情况。您将多个因素混合在同一个语句中。Phonegap 3.2和3.3、MacOS、MacPro、笔记本电脑、模拟器、设备。你在说什么? - user1028880
我认为@KenOKABE所说的是你应该消除一些变量,以更好地了解这里发生了什么:你不能在两个系统上安装相同的Phonegap版本吗? 你不能从MacPro和笔记本电脑上都安装应用程序并查看区别吗? - Nils Ziehn
谢谢Nils!我会尝试更新MAC PRO的版本,并编辑我的问题以澄清问题。 - Rahnzo
4个回答

10

9

哇,我没想到 Cordova 会这么不专业。如果我没有在这里找到答案,我还会一直在墙上撞头。 - Michael Kork.
这就是解决方案!!你太棒了 Chris! :) - Rahnzo
我还是无法让它工作!你能添加一个例子吗?从cdvfile://或file:///复制一个简单的文件到另一个目录。我有一个简单的fileEntry.copyTo(dirEntry);,但在新的File插件中停止工作了。 - Pian0_M4n

2
很遗憾,由于其混乱的解释,这个问题被投票下降了。我也遇到了同样的问题:fileEntry.fullPath返回'/fileName'而不是实际的文件路径。我在phonegap的3.1和3.2版本中都看到了这种行为。
只是为了清楚起见,实际的文件路径指的是像这样的东西:/Users/user/Library/Application Support/.../.../.../fileName'

1
我在MacbookPro和Notebook上都安装了相同的Phonegap版本(3.3),并尝试运行相同的代码。在笔记本电脑上,我得到的路径是“/”,而在MacBookPro上则是真实的文件路径。我猜测在笔记本电脑上运行MacOs的Phonegap存在错误。 - Rahnzo

2

根据文档:

如果您的应用程序使用设备绝对路径,并且您之前通过Entry对象的fullPath属性检索这些路径,则应更新代码以改用entry.toURL()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接