当前位置 : 主页 > 手机开发 > cordova >

Cordova – FileSystem – 为什么有这么多路径选择?

来源:互联网 收集:自由互联 发布时间:2021-06-10
我只是通过Cordova源代码来试图找出一些东西,目前有六种替代方法/属性来访问文件的路径. 目前(使用iOS运行),有: // Propertiesfile.fullPath; // file:///full/path/syntax/filefile.nativeURL; // file:///ful
我只是通过Cordova源代码来试图找出一些东西,目前有六种替代方法/属性来访问文件的路径.

目前(使用iOS运行),有:

// Properties
file.fullPath; // file:///full/path/syntax/file
file.nativeURL; // file:///full/path/syntax/file

// Method(s)
file.toInternalURL(); // formats the file.fullPath into a cdvfile://localhost/persisten/file.
file.toURL(); // if file.nativeURL is set, uses file.nativeURL, otherwise use file.toInternalURL() or file.fullPath.

// Deprecated method(s)
file.toURI(); // deprecated - calls file.toURL();
file.toNativeURL() // deprecated - calls file.toURL();

我理解两个都被弃用 – 它们都指向file.toURL() – 所以我可以忽略它们并专注于四种方法.

但file.fullPath和file.nativeURL之间的区别是什么 – 它们完全相同?它们都是文件对象的属性 – 都可以公开访问.

据我所知,file.toURL()使用这两个 – 首先是file.nativeURL,如果没有,那么file.toInternalURL()或者失败,然后是file.fullPath.

最后,file.toNativeURL()返回一个cdvfile://格式化的位置.

因此,大多数方法都指向file.nativeURL属性. file.toURL()是否可以使用,因为它处理所有实例?如果是这样,那么cdvfile://到底是什么?

谢谢

file.fullPath是规范的一部分,实际上应该是:/ path / relative / to / my / root.如果你发现它有file:///,那就是一个bug.

file.nativeURL是一个实现细节.但遗憾的是,它并没有明显的标记.它不是规范的一部分,并且在其他平台上不存在.

file.toURL()可能就是你想要的.它是规范的一部分,为您提供了一个可以传递给resolveLocalFileSystemURL的URL,并且与cdvfile:URL相比具有更少的陷阱.

file.toInternalURL()不是规范的一部分,但它是Cordova特定的扩展.我不认为使用它会是一件有用的事情.

网友评论