(Phonegap + iOS)为什么当我在设备或模拟器中获得文件系统的完整path时,我只能得到“/”?
我正在运行这个简单的代码,当设备准备好被激发时:
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)});
在一个带有PhoneGap 3.2的MAC pro中,当代码在模拟器中运行时,这是完美的,这些imagesRootPath是一个很长的stringpath。 当我运行这个代码部署在一个Ipod设备,我得到了其他不同的长path。
现在,当我在具有与Mac Pro相同的MacOS,但具有Phonegap 3.3的NOTEBOOK中运行此代码时,我在模拟器中仅在“Phone”应用程序上部署“/”(斜线)path和相同的斜线装置。
我为文件API做了正确的插件configuration。
什么可能是错的?
谢谢!
Cordova的最新版本改变了File插件对path的显着作用。 实际上,如果使用前面的文档,您所看到的实际上是File插件的预期行为。 (我的旧代码有完全相同的问题)。
http://cordova.apache.org/news/2014/02/10/plugins-release.html https://github.com/apache/cordova-plugin-file/blob/dev/doc/index.md – 检查出更新说明。
在当前的插件开发分支有一个解决scheme:
Entry.toNativeURL() – 返回设备文件系统中文件的完整path。
这个问题由于其混淆的解释而被拒绝投票是一个耻辱。 我有同样的问题: fileEntry.fullPath
返回'/文件名',而不是实际的文件path。 我在phonegap版本3.1和3.2中也看到了这种行为。
就这样很明显,通过实际的文件path,我的意思是像/ Users / user / Library / Application Support /…/…/…/ fileName'
根据文件:
如果您的应用程序使用设备绝对path,并且以前通过
Entry
对象的fullPath
属性检索了这些path,那么您应该更新代码以使用entry.toURL()
。
- presentOpenInMenuFromRect不工作DocumentHandler.h – QuickLook
- Phonegap混合audio文件
- 从iOS设备的PhoneGap .wav上传正在服务器上创build一个0k文件
- 如何访问iOS上由PhoneGap创build的HTML5本地存储?
- iOS App Store提交:Missing icon(Cordova)
- 内部导航被拒绝:iOS上的Cordova上的<allow-navigation not set>
- 我如何让一个cordova6.1应用程序在iOS网站上embedded一个iframe?
- 在iOS 6上保存联系人时出现Phonegap ContactError
- 如何清除或处理cache.db数据ios应用程序