为了安全管理应用的资源目录,规范对文件系统的操作,5+ API在系统应用目录的基础设计了应用沙盒目录, 分为私有目录和公共目录两种类型,私有目录仅应用自身可以访问,公共目录在多应用环境时(如小程序SDK)所有应用都可访问。
- 应用私有资源目录,对应常量plus.io.PRIVATE_WWW,仅应用自身可读
- 应用私有文档目录,对应常量plus.io.PRIVATE_DOC,仅应用自身可读写
- 应用公共文档目录,对应常量plus.io.PUBLIC_DOCUMENTS,多应用时都可读写,常用于保存应用间共享文件
- 应用公共下载目录,对应常量plus.io.PUBLIC_DOWNLOADS,多应用时都可读写,常用于保存下载文件
调用5+ API时通常需要传入文件路径,为了方便理解,分为以下类型:
- 相对路径URL,对应类型plus.io.RelativeURL,以“_”开头,用于访问5+ API定义的应用沙盒目录
- 本地绝对路径URL,对应类型plus.io.LocalURL,以“file://”开头,后面跟随系统的绝对路径,用于访问应用沙盒外的目录,如系统相册等
- 网络路径URL,对应类型plus.io.RemoteURL,以“http://”或“https://”开头,用于访问网络资源
常量:
- PRIVATE_WWW: 应用私有资源目录常量
- PRIVATE_DOC: 应用私有文档目录常量
- PUBLIC_DOCUMENTS: 应用公共文档目录常量
- PUBLIC_DOWNLOADS: 应用公共下载目录常量
方法:
- requestFileSystem: 请求本地文件系统对象
- resolveLocalFileSystemURL: 通过URL参数获取目录对象或文件对象
- convertLocalFileSystemURL: 将本地URL路径转换成平台绝对路径
- convertAbsoluteFileSystem: 将平台绝对路径转换成本地URL路径
- getAudioInfo: 获取音频文件信息
- getFileInfo: 获取文件信息
- getImageInfo: 获取图片信息
- getVideoInfo: 获取视频文件信息
对象:
- DirectoryEntry: 文件系统中的目录对象,用于管理特定的本地目录
- DirectoryReader: 读取目录信息对象,用于获取目录中包含的文件及子目录
- File: 文件系统中的文件数据对象,用于获取文件的数据
- FileEntry: 文件系统中的文件对象,用于管理特定的本地文件
- FileReader: 文件系统中的读取文件对象,用于获取文件的内容
- FileWriter: 文件系统中的写文件对象,用于写入文件内容
- FileSystem: 文件系统对象,用于管理特定本地文件目录
- Flags: JSON对象,获取文件操作的参数
- Metadata: JSON对象,保存文件或目录的状态信息对象
- FileEvent: 文件或目录操作事件对象
- RelativeURL: 相对路径URL
- LocalURL: 本地绝对路径URL
- RemoteURL: 网络路径URL
- AudioInfo: JSON对象,音频文件信息对象
- FileInfo: JSON对象,文件信息对象
- ImageInfo: JSON对象,图片信息对象
- VideoInfo: JSON对象,视频文件信息对象
回调方法:
- FileEventCallback: 文件事件回调
- FileSystemSuccessCallback: 请求文件系统成功的回调函数
- FileResolveSuccessCallback: 通过URL参数获取目录或文件对象成功的回调函数
- MetadataSuccessCallback: 获取文件或目录状态信息成功的回调函数
- EntrySuccessCallback: 操作文件或目录对象成功的回调函数
- EntrysSuccessCallback: 操作文件或目录对象数组成功的回调函数
- FileWriterSuccessCallback: 写文件操作成功的回调函数
- FileSuccessCallback: 文件操作成功的回调函数
- FileErrorCallback: 文件操作失败的回调函数
- IOSuccessCallback: 成功回调函数
- IOFailCallback: 失败回调函数
- IOCompleteCallback: 操作完成回调函数
权限:
5+功能模块(permissions)
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"permissions"</span><span style="color:#ffffff">:{</span>
<span style="color:#87ceeb">// ...</span>
<span style="color:#ffa0a0">"File"</span><span style="color:#ffffff">:</span> <span style="color:#ffffff">{</span>
<span style="color:#ffa0a0">"description"</span><span style="color:#ffffff">:</span> <span style="color:#ffa0a0">"文件系统"</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">}</span>
</code></span></span>
PRIVATE_WWW
应用私有资源目录常量
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">;</span>
</code></span></span>
说明:
Number 类型
本地文件系统常量,Number类型,固定值1,对应相对路径URL为"_www"开头的地址。 应用所有资源保存到此目录,仅本应用可访问。 为了确保应用资源的安全性,通常此目录只可读。
注意: 需要将应用设置为释放资源模式才能访问此目录,配置方法:
- uni-app项目,在manifest.json的"app-plus"节点下添加"runmode":"liberate"
- 5+ App项目,在manifest.json的"plus"节点下添加"runmode":"liberate"
提交云端打包生效,详见manifest.json的runmode配置
平台支持
- Android - ALL (支持) :
应用资源默认在apk的assets目录中,安装到设备后无法通过5+ API操作。 为了能够正常枚举访问此目录,需要将应用设置为释放资源模式(在manifest.json中将runmode值设置为liberate), 这样程序在第一次运行时将资源释放到应用Android系统应用内部存储目录(通常为“/storage/emulated/0/Android/data/%PACKAGENAME%/”,其中%PACKAGENAME%是程序的包名)下的 “apps%APPID%/www”,其中%APPID%是应用的标识。
- iOS - ALL (支持) :
应用资源默认在应用沙盒目录下的“/DCloud_Pandora.app/Pandora/apps/%APPID%/www”中, 如将应用设置为释放资源模式(在manifest.json中将runmode值设置为liberate),程序在第一次运行时将资源释放到iOS系统应用沙盒目录下的“/Library/Pandora/apps/%APPID%/www”, 其中%APPID%是应用的标识。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs操作PRIVATE_WWW文件系统 </span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Local file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
PRIVATE_DOC
应用私有文档目录常量
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_DOC</span><span style="color:#ffffff">;</span>
</code></span></span>
说明:
Number 类型
本地文件系统常量,Number类型,固定值2,对应相对路径URL为"_doc"开头的地址。 应用私有文档目录,仅本应用可读写。
平台支持
- Android - ALL (支持) :
对应Android系统应用内部存储目录(通常为“/storage/emulated/0/Android/data/%PACKAGENAME%/”,其中%PACKAGENAME%是程序的包名)下的 “apps%APPID%/doc”,其中%APPID%是应用的标识。
- iOS - ALL (支持) :
对应iOS系统应用沙盒目录下的“/Library/Pandora/apps/%APPID%/doc”,其中%APPID%是应用的标识。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_DOC</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs操作PRIVATE_DOC文件系统 </span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Local file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
PUBLIC_DOCUMENTS
应用公共文档目录常量
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PUBLIC_DOCUMENTS</span><span style="color:#ffffff">;</span>
</code></span></span>
说明:
Number 类型
本地文件系统常量,Number类型,固定值3,对应相对路径URL为"_documents"开头的地址。 安装包存在多个5+ App或uni-app环境时(如小程序SDK),所有5+ App或uni-app都可进行读写操作。
平台支持
- Android - ALL (支持) :
对应Android系统应用外部存储目录(通常为“/sdcard/Android/data/%PACKAGENAME%/”,其中%PACKAGENAME%是程序的包名)下的"documents"目录, 如HBuilder基座对应目录为“/sdcard/Android/data/io.dcloud.HBuilder/documents”。
- iOS - ALL (支持) :
对应iOS系统应用沙盒目录下的“/Library/Pandora/documents”。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PUBLIC_DOCUMENTS</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs操作PUBLIC_DOCUMENTS文件系统 </span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Local file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
PUBLIC_DOWNLOADS
应用公共下载目录常量
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PUBLIC_DOWNLOADS</span><span style="color:#ffffff">;</span>
</code></span></span>
说明:
Number 类型
本地文件系统常量,Number类型,固定值4,对应相对路径URL为"_downloads"开头的地址。 安装包存在多个5+ App或uni-app环境时(如小程序SDK),所有5+ App或uni-app都可进行读写操作。
平台支持
- Android - ALL (支持) :
对应Android系统应用外部存储目录(通常为“/sdcard/Android/data/%PACKAGENAME%/”,其中%PACKAGENAME%是程序的包名)下的"downloads"目录, 如HBuilder基座对应目录为“/sdcard/Android/data/io.dcloud.HBuilder/downloads”。
- iOS - ALL (支持) :
对应iOS系统应用沙盒目录下的“/Library/Pandora/downloads”。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PUBLIC_DOWNLOADS</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs操作PUBLIC_DOWNLOADS文件系统 </span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Local file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
requestFileSystem
请求本地文件系统对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> type</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取指定的文件系统,可通过type指定获取文件系统的类型。 获取指定的文件系统对象成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- type: ( Number ) 必选 本地文件系统常量
可取plus.io下的常量,如plus.io.PRIVATE_DOC、plus.io.PUBLIC_DOCUMENTS等。
- succesCB: ( FileSystemSuccessCallback ) 必选 请求文件系统成功的回调
- errorCB: ( FileErrorCallback ) 可选 请求文件系统失败的回调
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs进行文件操作 </span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system success!"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Request file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
resolveLocalFileSystemURL
通过URL参数获取目录对象或文件对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">resolveLocalFileSystemURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> url</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
快速获取指定的目录或文件操作对象,如通过URL值“_www/test.html”可直接获取文件操作对象。 url值可支持相对路径URL、本地路径URL。 获取指定的文件或目录操作对象成功通过succesCB回调返回,如果指定URL路径或文件不存在则失败通过errorCB回调返回。
参数:
- url : ( String ) 必选 要操作文件或目录的URL地址
- succesCB: ( FileResolveSuccessCallback ) 必选 获取操作文件或目录对象成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取操作文件或目录对象失败的回调函数
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">resolveLocalFileSystemURL</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"_www/test.html"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过entry对象操作test.html文件 </span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> fileReader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#98fb98">FileReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"getFile:"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">));</span><span style="color:#ffffff">
fileReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsText</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">,</span> <span style="color:#ffa0a0">'utf-8'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
fileReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onloadend </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">evt</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"11"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> evt</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"evt.target"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> evt</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">evt</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">size </span><span style="color:#ffffff">+</span> <span style="color:#ffa0a0">'--'</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Resolve file URL failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Request file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
convertLocalFileSystemURL
将本地URL路径转换成平台绝对路径
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">convertLocalFileSystemURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> url </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
绝对路径符合各平台文件路径格式,通常用于Native.JS调用系统原生文件操作API,也可以在前面添加“file://”后在html页面中直接使用。
参数:
- url: ( String ) 必选 要转换的文件或目录URL地址
URL地址必须是合法的路径,如果地址不合法则返回null。
返回值:
String : 转换后在平台路径,在不同平台或者不同设备返回的值可能存在差异,如输入url为“_doc/a.png”: Android平台转换后的路径为“/storage/sdcard0/Android/data/io.dcloud.HBuilder/.HBuilder/apps/HBuilder/doc/a.png”; 在iOS平台转换后的路径为“/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png”。
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> url</span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"_www/index.html"</span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> path</span><span style="color:#ffffff">=</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">convertLocalFileSystemURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff">url</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">path</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
convertLocalFileSystemURL
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
convertAbsoluteFileSystem
将平台绝对路径转换成本地URL路径
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">convertAbsoluteFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> path </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
绝对路径符合各平台文件路径格式,转换后变成RelativeURL类型格式。 功能与convertLocalFileSystemURL方法相反,将绝对路径转换成相对路径。
参数:
- path: ( String ) 必选 要转换的平台绝对路径
绝对路径必须是合法的路径,如果绝对路径不合法则返回null。
返回值:
String : 转换后本地URL路径
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">(){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> url</span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"_www/index.html"</span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> path</span><span style="color:#ffffff">=</span><span style="color:#ffffff">plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">convertLocalFileSystemURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff">url</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> newurl </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">convertAbsoluteFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff">path</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">newurl</span><span style="color:#ffffff">);</span> <span style="color:#87ceeb">// 显示值为“_www/index.html”</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
convertAbsoluteFileSystem
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
getAudioInfo
获取音频文件信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getAudioInfo</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
仅支持获取本地音频文件信息。
参数:
options参数为json类型,包含以下属性:
- filePath: ( String ) 必选 音频文件的路径
支持以下类型路径:
- 相对路径 - 访问相对于当前页面host位置资源,如"a.mp3"
- 相对路径URL - 访问5+ API定义的应用沙盒目录, 参考:plus.io.RelativeURL
- 本地绝对路径URL - 访问应用沙盒目录外其它系统资源目录, 参考:plus.io.LocalURL
- success: ( IOSuccessCallback ) 可选 获取音频文件信息成功回调函数
回调函数的参数类型为AudioInfo。
- fail: ( IOFailCallback ) 可选 获取音频文件信息失败回调函数
- complete: ( IOCompleteCallback ) 可选 获取音频文件信息操作完成回调函数
调用成功或失败都会触发此回调。
返回值:
void : 无
getFileInfo
获取文件信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getFileInfo</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
支持获取本地文件信息。
参数:
options参数为json类型,包含以下属性:
- filePath: ( String ) 必选 文件的路径
支持以下类型路径:
- 相对路径 - 访问相对于当前页面host位置资源,如"a.mp3"
- 相对路径URL - 访问5+ API定义的应用沙盒目录, 参考:plus.io.RelativeURL
- 本地绝对路径URL - 访问应用沙盒目录外其它系统资源目录, 参考:plus.io.LocalURL
- digestAlgorithm: ( String ) 必选 计算文件摘要的算法
可取值: "md5" - 使用md5算法计算摘要信息; "sha1" - 使用sha1算法计算摘要信息。 默认值为"md5"。
- success: ( IOSuccessCallback ) 可选 获取文件信息成功回调函数
回调函数的参数类型为FileInfo。
- fail: ( IOFailCallback ) 可选 获取文件信息失败回调函数
- complete: ( IOCompleteCallback ) 可选 获取文件信息操作完成回调函数
调用成功或失败都会触发此回调。
返回值:
void : 无
getImageInfo
获取图片信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getImageInfo</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
支持获取本地图片和网络图片的信息。
参数:
options参数为json类型,包含以下属性:
- src: ( String ) 必选 图片的路径
支持以下类型路径:
- 相对路径 - 访问相对于当前页面host位置资源,如"a.mp3"
- 相对路径URL - 访问5+ API定义的应用沙盒目录, 参考:plus.io.RelativeURL
- 本地绝对路径URL - 访问应用沙盒目录外其它系统资源目录, 参考:plus.io.LocalURL
- success: ( IOSuccessCallback ) 可选 获取图片信息成功回调函数
回调函数的参数类型为ImageInfo。
- fail: ( IOFailCallback ) 可选 获取图片信息失败回调函数
- complete: ( IOCompleteCallback ) 可选 获取图片信息操作完成回调函数
调用成功或失败都会触发此回调。
返回值:
void : 无
getVideoInfo
获取视频文件信息
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getVideoInfo</span><span style="color:#ffffff">(</span><span style="color:#ffffff">options</span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
仅支持获取本地视频文件信息。
参数:
options参数为json类型,包含以下属性:
- filePath: ( String ) 必选 视频文件的路径
支持以下类型路径:
- 相对路径 - 访问相对于当前页面host位置资源,如"a.mp3"
- 相对路径URL - 访问5+ API定义的应用沙盒目录, 参考:plus.io.RelativeURL
- 本地绝对路径URL - 访问应用沙盒目录外其它系统资源目录, 参考:plus.io.LocalURL
- success: ( IOSuccessCallback ) 可选 获取视频文件信息成功回调函数
回调函数的参数类型为VideoInfo。
- fail: ( IOFailCallback ) 可选 获取视频文件信息失败回调函数
- complete: ( IOCompleteCallback ) 可选 获取视频文件信息操作完成回调函数
调用成功或失败都会触发此回调。
返回值:
void : 无
DirectoryEntry
文件系统中的目录对象,用于管理特定的本地目录
属性:
- isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false
- isDirectory: 操作对象是否为目录,DirectoryEntry对象固定其值为true
- name: 目录操作对象的名称,不包括路径
- fullPath: 目录操作对象的完整路径,文件系统的绝对路径
- fileSystem: 文件操作对象所属的文件系统对象,参考FileSystem
方法:
- getMetadata: 获取目录的属性
- moveTo: 移动目录
- copyTo: 拷贝目录
- toURL: 获取目录路径转换为URL地址
- toLocalURL: 获取目录路径转换为本地路径URL地址
- toRemoteURL: 获取目录路径转换为网络路径URL地址
- remove: 删除目录
- getParent: 获取目录所属的父目录
- createReader: 创建目录读取对象
- getDirectory: 创建或打开子目录
- getFile: 创建或打开文件
- removeRecursively: 递归删除目录
isFile
操作对象的是否为文件,DirectoryEntry对象固定其值为false
说明:
Boolean 类型 只读属性
isDirectory
操作对象是否为目录,DirectoryEntry对象固定其值为true
说明:
Boolean 类型 只读属性
name
目录操作对象的名称,不包括路径
说明:
String 类型 只读属性
fullPath
目录操作对象的完整路径,文件系统的绝对路径
说明:
String 类型 只读属性
fileSystem
文件操作对象所属的文件系统对象,参考FileSystem
说明:
FileSystem 类型 只读属性
getMetadata
获取目录的属性
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getMetadata</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> recursive </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
用于获取文件或目录的属性信息。 获取属性信息成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( MetadataSuccessCallback ) 必选 获取文件或目录属性信息成功的回调
- errorCB: ( FileErrorCallback ) 必选 获取文件或目录属性信息失败的回调
- recursive: ( Boolean ) 必选 是否递归计算目录信息
true为递归计算获取信息,false不递归计算获取,默认值为false。
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Request the metadata object for this entry</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getMetadata</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> metadata </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Last Modified: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> metadata</span><span style="color:#ffffff">.</span><span style="color:#ffffff">modificationTime</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
moveTo
移动目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">moveTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> parent</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
以下情况移动目录将会导致失败: 将父目录移动到子目录中; 要移动到的目标目录无效; 要移动到的目标路径被文件占用; 要移动到的目标目录已经存在并且不为空。 移动目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- parent: ( DirectoryEntry ) 必选 要移动到的目标目录
- newName: ( String ) 可选 移动后的目录名称,默认为原始目录名称
- succesCB: ( EntrySuccessCallback ) 可选 移动目录成功的回调函数
回调函数中的参数保存新的目录对象。
- errorCB: ( FileErrorCallback ) 可选 移动目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> moveDirecty</span><span style="color:#ffffff">(</span><span style="color:#ffffff">srcEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff">dstEntry</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> newName </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getElementById</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'newName'</span><span style="color:#ffffff">).</span><span style="color:#ffffff">value</span><span style="color:#ffffff">,</span>
<span style="color:#87ceeb">// move the directory to a new directory and rename it</span><span style="color:#ffffff">
srcEntry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">moveTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> dstEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"New Path: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">fullPath</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
copyTo
拷贝目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">copyTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> parent</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
以下情况拷贝目录将会导致失败: 将父目录拷贝到子目录中; 要拷贝到的目标目录无效; 要拷贝到的目标路径被文件占用; 要拷贝到的目标目录已经存在并且不为空。 拷贝目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- parent: ( DirectoryEntry ) 必选 要拷贝到的目标目录
- newName: ( String ) 可选 拷贝后的目录名称,默认为原始目录名称
- succesCB: ( EntrySuccessCallback ) 可选 拷贝目录成功的回调函数
回调函数中的参数保存新的目录对象。
- errorCB: ( FileErrorCallback ) 可选 拷贝目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> copyDirecty</span><span style="color:#ffffff">(</span><span style="color:#ffffff">srcEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff">dstEntry</span><span style="color:#ffffff">){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> newName </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getElementById</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'newName'</span><span style="color:#ffffff">).</span><span style="color:#ffffff">value</span><span style="color:#ffffff">,</span>
<span style="color:#87ceeb">// copy the directory to a new directory and rename it</span><span style="color:#ffffff">
srcEntry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">copyTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> dstEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"New Path: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">fullPath</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
toURL
获取目录路径转换为URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toURL</span><span style="color:#ffffff">();</span>
</code></span></span>
参数:
返回值:
String : 格式为相对路径URL
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the URL for this directory</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> dirURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">dirURL</span><span style="color:#ffffff">);</span>
</code></span></span>
toLocalURL
获取目录路径转换为本地路径URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toLocalURL</span><span style="color:#ffffff">();</span>
</code></span></span>
参数:
返回值:
String : 格式为本地路径URL
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the local URL for this directory</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> dirURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toLocalURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">dirURL</span><span style="color:#ffffff">);</span>
</code></span></span>
toRemoteURL
获取目录路径转换为网络路径URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toRemoteURL</span><span style="color:#ffffff">();</span>
</code></span></span>
参数:
返回值:
String : URL地址格式为以“http://localhost:13131/”开头的网络路径。 注:仅用于网络页面访问本地资源,不推荐使用(将废弃)。
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the remote URL for this directory</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> dirURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toRemoteURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">dirURL</span><span style="color:#ffffff">);</span>
</code></span></span>
remove
删除目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">remove</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
以下情况删除目录将会导致失败: 目录中存在文件; 删除根目录; 删除目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 删除目录成功的回调函数
回调函数中无参数。
- errorCB: ( FileErrorCallback ) 可选 删除目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// remove this directory</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">remove</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Remove succeeded"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
getParent
获取目录所属的父目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getParent</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取父目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 获取父目录成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取父目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the parent DirectoryEntry</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getParent</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Parent Name: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
createReader
创建目录读取对象
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">DirectoryReader</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createReader</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
创建一个目录读取对象,用户读取目下的文件及子目录。
参数:
返回值:
DirectoryReader : 目录读取对象
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// create a directory reader</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> directoryReader </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createReader</span><span style="color:#ffffff">();</span>
</code></span></span>
getDirectory
创建或打开子目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getDirectory</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> path</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> flag</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
创建或打开当前目录指定的目录。 创建或打开目录操作成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- path: ( String ) 必选 要操作目录相对于当前目录的地址
- flag: ( Flags ) 可选 要操作文件或目录的参数
- succesCB: ( EntrySuccessCallback ) 可选 创建或打开目录成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 创建或打开目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Retrieve an existing directory, or create it if it does not already exist</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getDirectory</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"newDir"</span><span style="color:#ffffff">,</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">create</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>true</strong></span><span style="color:#ffffff">,</span><span style="color:#ffffff">exclusive</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>false</strong></span><span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> dir </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Directory Entry Name: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> dir</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
getFile
创建或打开文件
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getFile</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> path</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> flag</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
创建或打开当前目录下指定的文件。 创建或打开文件操作对象成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- path: ( String ) 必选 要操作文件相对于当前目录的地址
- flag: ( Flags ) 可选 要操作文件或目录的参数
- succesCB: ( EntrySuccessCallback ) 可选 创建或打开文件成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 创建或打开文件失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数</span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">fs</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// fs.root是根目录操作对象DirectoryEntry</span><span style="color:#ffffff">
fs</span><span style="color:#ffffff">.</span><span style="color:#ffffff">root</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getFile</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">'config.xml'</span><span style="color:#ffffff">,{</span><span style="color:#ffffff">create</span><span style="color:#ffffff">:</span><span style="color:#f0e68c"><strong>true</strong></span><span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">fileEntry</span><span style="color:#ffffff">){</span><span style="color:#ffffff">
fileEntry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> fileReader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#98fb98">FileReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"getFile:"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> JSON</span><span style="color:#ffffff">.</span><span style="color:#ffffff">stringify</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">));</span><span style="color:#ffffff">
fileReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsText</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">,</span> <span style="color:#ffa0a0">'utf-8'</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
fileReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onloadend </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">evt</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"11"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> evt</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"evt.target"</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> evt</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">);</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">evt</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff">file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">size </span><span style="color:#ffffff">+</span> <span style="color:#ffa0a0">'--'</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">});</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Request file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
removeRecursively
递归删除目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">removeRecursively</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
删除目录将会删除其下的所有文件及子目录 不能删除根目录,如果操作删除根目录将会删除目录下的文件及子目录,不会删除根目录自身。 删除目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 删除目录成功的回调函数
回调函数中无参数。
- errorCB: ( FileErrorCallback ) 可选 删除目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// remove the directory and all it's contents</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">removeRecursively</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Remove Recursively Succeeded"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
DirectoryReader
读取目录信息对象,用于获取目录中包含的文件及子目录
方法:
- readEntries: 获取当前目录中的所有文件和子目录
readEntries
获取当前目录中的所有文件和子目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
directoryReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readEntries</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取当前目录下的所有文件和子目录。 获取操作成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 获取成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取失败的回调函数
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff">fs</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// fs.root是根目录操作对象DirectoryEntry</span>
<span style="color:#87ceeb">// 创建读取目录信息对象 </span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> directoryReader </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> fs</span><span style="color:#ffffff">.</span><span style="color:#ffffff">root</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
directoryReader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readEntries</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entries </span><span style="color:#ffffff">){</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> i</span><span style="color:#ffffff">;</span>
<span style="color:#f0e68c"><strong>for</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> i</span><span style="color:#ffffff">=</span><span style="color:#cd5c5c">0</span><span style="color:#ffffff">;</span><span style="color:#ffffff"> i </span><span style="color:#ffffff"><</span><span style="color:#ffffff"> entries</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">;</span><span style="color:#ffffff"> i</span><span style="color:#ffffff">++</span> <span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entries</span><span style="color:#ffffff">[</span><span style="color:#ffffff">i</span><span style="color:#ffffff">].</span><span style="color:#ffffff">name </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Read entries failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Request file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
File
文件系统中的文件数据对象,用于获取文件的数据
属性:
- size: 文件数据对象的数据大小,单位为字节
- type: 文件数据对象MIME类型
- name: 文件数据对象的名称,不包括路径
- lastModifiedDate: 文件对象的最后修改时间
方法:
size
文件数据对象的数据大小,单位为字节
说明:
Number 类型 只读属性
type
文件数据对象MIME类型
说明:
String 类型 只读属性
name
文件数据对象的名称,不包括路径
说明:
String 类型 只读属性
lastModifiedDate
文件对象的最后修改时间
说明:
Date 类型 只读属性
slice
获取文件指定的数据内容
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> start</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>end</strong></span> <span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取文件指定的数据内容,其中end必须大于start。
参数:
- start: ( Number ) 可选 获取文件数据的起始位置
文件起始读取Byte字节的索引值,索引值从0开始计数。
- end: ( Number ) 可选 获取文件数据的结束位置
结束读取Byte字节的索引值,索引值从0开始计数。
返回值:
File : 指定数据内容的文件对象
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice1 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">100</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">400</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice2 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> slice1</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">20</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">35</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice3 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">120</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">135</span><span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// slice2 and slice3 are equivalent.</span>
</code></span></span>
close
关闭文件数据对象
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
当文件数据对象不再使用时,可通过此方法关闭,释放系统资源。
参数:
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice1 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">100</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">400</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice2 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> slice1</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">20</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">35</span><span style="color:#ffffff">);</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> slice3 </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">slice</span><span style="color:#ffffff">(</span><span style="color:#cd5c5c">120</span><span style="color:#ffffff">,</span> <span style="color:#cd5c5c">135</span><span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// slice2 and slice3 are equivalent.</span>
<span style="color:#87ceeb">// ......</span><span style="color:#ffffff">
slice3</span><span style="color:#ffffff">.</span><span style="color:#ffffff">close</span><span style="color:#ffffff">();</span>
</code></span></span>
FileEntry
文件系统中的文件对象,用于管理特定的本地文件
属性:
- isFile: 文件操作对象的是否为文件,FileEntry对象固定其值为true
- isDirectory: 文件操作对象是否为目录,FileEntry对象固定其值为false
- name: 文件操作对象的名称,不包括路径
- fullPath: 文件操作对象的完整路径,文件系统的绝对路径
- fileSystem: 文件操作对象所属的文件系统对象,参考FileSystem
方法:
- getMetadata: 获取文件的属性信息
- moveTo: 移动文件
- copyTo: 拷贝文件
- toURL: 获取文件路径转换为URL地址
- toLocalURL: 获取文件路径转换为本地路径URL地址
- toRemoteURL: 获取文件路径转换为网络路径URL地址
- remove: 删除文件
- getParent: 获取文件所属的父目录
- createWriter: 获取文件关联的写文件操作对象FileWriter
- file: 获取文件数据对象
isFile
文件操作对象的是否为文件,FileEntry对象固定其值为true
说明:
Boolean 类型 只读属性
isDirectory
文件操作对象是否为目录,FileEntry对象固定其值为false
说明:
Boolean 类型 只读属性
name
文件操作对象的名称,不包括路径
说明:
String 类型 只读属性
fullPath
文件操作对象的完整路径,文件系统的绝对路径
说明:
String 类型 只读属性
fileSystem
文件操作对象所属的文件系统对象,参考FileSystem
说明:
FileSystem 类型 只读属性
getMetadata
获取文件的属性信息
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getMetadata</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> successCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
用于获取文件的属性信息。 获取属性信息成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( MetadataSuccessCallback ) 必选 获取文件属性信息成功的回调函数
- errorCB: ( FileErrorCallback ) 必选 获取文件属性信息失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Request the metadata object for this entry</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getMetadata</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> metadata </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"Last Modified: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> metadata</span><span style="color:#ffffff">.</span><span style="color:#ffffff">modificationTime</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
moveTo
移动文件
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">moveTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> parent</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
以下情况移动目录将会导致失败: 要移动到的目标目录无效; 要移动到的目标路径被其它文件占用; 移动文件成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- parent: ( DirectoryEntry ) 必选 要移动到的目标目录
- newName: ( String ) 可选 移动后的文件名称,默认为原始文件名称
- succesCB: ( EntrySuccessCallback ) 可选 移动文件成功的回调函数
回调函数中的参数保存新的文件对象。
- errorCB: ( FileErrorCallback ) 可选 移动文件失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> moveFile</span><span style="color:#ffffff">(</span><span style="color:#ffffff">fileEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff">dstEntry</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// move the file to a new directory and rename it</span><span style="color:#ffffff">
fileEntry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">moveTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> dstEntry</span><span style="color:#ffffff">,</span> <span style="color:#ffa0a0">"newfile.txt"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"New Path: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">fullPath</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
copyTo
拷贝文件
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">copyTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> parent</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> newName</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
以下情况拷贝文件将会导致失败: 要拷贝到的目标目录无效; 要拷贝到的目标路径被其它文件占用; 拷贝文件成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- parent: ( DirectoryEntry ) 必选 要拷贝到的目标目录
- newName: ( String ) 可选 拷贝后的文件名称,默认为原始文件名称
- succesCB: ( EntrySuccessCallback ) 可选 拷贝文件成功的回调函数
回调函数中的参数保存新的文件对象。
- errorCB: ( FileErrorCallback ) 可选 拷贝文件失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> copyFile</span><span style="color:#ffffff">(</span><span style="color:#ffffff">fileEntry</span><span style="color:#ffffff">,</span><span style="color:#ffffff">dstEntry</span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// copy the file to a new directory and rename it</span><span style="color:#ffffff">
fileEntry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">copyTo</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> dstEntry</span><span style="color:#ffffff">,</span> <span style="color:#ffa0a0">"file.copy"</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"New Path: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">fullPath</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">){</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
</code></span></span>
toURL
获取文件路径转换为URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toURL</span><span style="color:#ffffff">();</span>
</code></span></span>
参数:
返回值:
String : 格式为相对路径URL
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the URL for this file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> fileURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">fileURL</span><span style="color:#ffffff">);</span>
</code></span></span>
toLocalURL
获取文件路径转换为本地路径URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toLocalURL</span><span style="color:#ffffff">();</span>
</code></span></span>
参数:
返回值:
String : 格式为本地路径URL
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the local URL for this file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> fileURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toLocalURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">dirURL</span><span style="color:#ffffff">);</span>
</code></span></span>
toRemoteURL
获取文件路径转换为网络路径URL地址
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#98fb98">String</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toRemoteURL</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
URL地址格式为以“http://localhost:13131/”开头的网络路径。
参数:
无
返回值:
String : 网络格式路径URL
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the remote URL for this file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> fileURL </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">toRemoteURL</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff">dirURL</span><span style="color:#ffffff">);</span>
</code></span></span>
remove
删除文件
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">remove</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
删除文件成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 删除文件成功的回调函数
回调函数中无参数。
- errorCB: ( FileErrorCallback ) 可选 删除文件失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// remove this file</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">remove</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Remove succeeded"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
getParent
获取文件所属的父目录
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getParent</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取父目录成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( EntrySuccessCallback ) 可选 获取父目录成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取父目录失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the parent DirectoryEntry</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">getParent</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Parent Name: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
createWriter
获取文件关联的写文件操作对象FileWriter
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取写文件操作对象成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( FileWriterSuccessCallback ) 可选 获取写文件操作对象成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取写文件操作对象失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// create a FileWriter to write to the file</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Write data to file.</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">write</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Data "</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
file
获取文件数据对象
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> succesCB</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> errorCB </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
获取文件数据对象成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
- succesCB: ( FileSuccessCallback ) 可选 获取文件数据对象成功的回调函数
- errorCB: ( FileErrorCallback ) 可选 获取文件数据对象失败的回调函数
返回值:
void : 无
平台支持:
- Android - 2.2+ (支持)
- iOS - 4.3+ (支持)
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Get the parent DirectoryEntry</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffa0a0">"File size: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">.</span><span style="color:#ffffff">size</span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
FileReader
文件系统中的读取文件对象,用于获取文件的内容
说明:
FileReader对象是从设备文件系统读取文件FileReader对象是从设备文件系统读取文件的一种方式,文件以文本或者Base64编码的字符串形式读出来。 用户注册自己的事件监听器来接收loadstart、progress、load、loadend、error和abort事件。
构造:
- FileReader: 创建读取文件对象
常量:
属性:
- readyState: 当前读取文件所处的状态
- result: 已读取文件的内容
- error: 文件操作错误代码
方法:
- abort: 终止文件读取操作
- readAsDataURL: 以URL编码格式读取文件数据内容
- readAsText: 以文本格式读取文件数据内容
事件:
- onloadstart: 读取文件开始时的回调函数
- onload: 读取文件成功完成的回调函数
- onabort: 取消读取文件时的回调函数
- onerror: 文件读取操作失败时调用的回调函数
- onloadend: 文件读取操作完成时的回调函数
FileReader
创建读取文件对象
说明:
创建读取文件对象
参数:
无
返回值:
EMPTY
值为0,开始读取文件状态
说明:
Number 类型
LOADING
值为1,正在读取文件状态
说明:
Number 类型
DONE
值为2,读文件操作完成状态
说明:
Number 类型
readyState
当前读取文件所处的状态
说明:
Number 类型 只读属性
可取上面定义的常量值,EMPTY(0)、LOADING(1)、DONE(2)。
result
已读取文件的内容
说明:
String 类型 只读属性
error
文件操作错误代码
说明:
Number 类型 只读属性
abort
终止文件读取操作
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">abort</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
读取文件操作开始后,可通过此方法取消读取文件。 调用此方法后将触发文件读取对象的onabort事件。
参数:
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Read data from file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#98fb98">FileReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onloadend </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Read success"</span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// Get data</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">};</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsText</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#87ceeb">// Abort read data from file</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">abort</span><span style="color:#ffffff">();</span>
</code></span></span>
readAsDataURL
以URL编码格式读取文件数据内容
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsDataURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> encoding </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
读取文件的数据内容,并将数据内容进行URL编码。
参数:
- file: ( File ) 必选 要读取的文件数据对象
- encoding : ( String ) 可选 读取文件数据内容的字符编码格式
目前仅支持UTF-8编码格式。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Read data from file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#98fb98">FileReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onloadend </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Read success"</span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// Get data</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">};</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsDataURL</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
readAsText
以文本格式读取文件数据内容
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsText</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> encoding </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
读取文件的数据内容。
参数:
- file: ( File ) 必选 要读取的文件数据对象
- encoding : ( String ) 可选 读取文件数据内容的字符编码格式
目前仅支持UTF-8编码格式。
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Read data from file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">file</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
reader </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>new</strong></span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#98fb98">FileReader</span><span style="color:#ffffff">();</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onloadend </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Read success"</span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// Get data</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">target</span><span style="color:#ffffff">.</span><span style="color:#ffffff">result </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">};</span><span style="color:#ffffff">
reader</span><span style="color:#ffffff">.</span><span style="color:#ffffff">readAsText</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
onloadstart
读取文件开始时的回调函数
说明:
onload
读取文件成功完成的回调函数
说明:
onabort
取消读取文件时的回调函数
说明:
onerror
文件读取操作失败时调用的回调函数
说明:
onloadend
文件读取操作完成时的回调函数
说明:
不管成功或失败都会触发。
FileWriter
文件系统中的写文件对象,用于写入文件内容
说明:
FileWriter对象是向设备文件系统写入文件的一种方式,用户注册自己的事件监听器来接收writestart、progress、write、writeend、error和abort事件。 一个FileWriter对象是为单个文件的操作而创建,可以使用该对象多次对相应文件进行写入操作。 FileWriter维护该文件的指针位置及长度属性,这样就可以寻找和写入文件的任何地方。 默认情况下,FileWriter从文件的开头开始写入(将覆盖现有数据),seek方法可设置文件操作指定位置,如fw.seek(fw.length-1)写入操作就会从文件的末尾开始。
常量:
属性:
- readyState: 当前写入文件所处的状态
- length: 文件当前的长度,单位为字节
- position: 文件当前操作的指针位置
- error: 文件写入操作错误代码
方法:
事件:
- onwritestart: 写入文件开始时的回调函数
- onwrite: 写入文件成功完成的回调函数
- onabort: 取消写入文件时的回调函数
- onerror: 文件写入操作失败时调用的回调函数
- onwriteend: 文件写入操作完成时的回调函数
INIT
值为0,写文件初始化状态
说明:
Number 类型
WRITING
值为1,正在写入文件状态
说明:
Number 类型
DONE
值为2,写文件操作完成状态
说明:
Number 类型
readyState
当前写入文件所处的状态
说明:
Number 类型 只读属性
可取上面定义的常量值,INIT(0)、WRITING(1)、DONE(2)。
length
文件当前的长度,单位为字节
说明:
Number 类型 只读属性
position
文件当前操作的指针位置
说明:
Number 类型 只读属性
error
文件写入操作错误代码
说明:
Number 类型 只读属性
abort
终止文件写入操作
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">abort</span><span style="color:#ffffff">();</span>
</code></span></span>
说明:
写入文件数据操作开始后,可通过此方法取消写入文件数据操作。 调用此方法后将触发文件写入对象的onabort事件。
参数:
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Write data to file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> w </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
w </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> writer</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// fast forwards file pointer to end of file</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">-</span><span style="color:#cd5c5c">1</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// ......</span>
<span style="color:#87ceeb">// Abort write data to file</span><span style="color:#ffffff">
w</span><span style="color:#ffffff">.</span><span style="color:#ffffff">abort</span><span style="color:#ffffff">();</span>
</code></span></span>
seek
定位文件操作位置
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> position </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
定位文件的操作位置,有效值为0到文件的总长度减1。 0表示文件的起始位置。
参数:
- position: ( Number ) 必选 要定位到的位置
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Write data to file</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> w </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>null</strong></span><span style="color:#ffffff">;</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
w </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> writer</span><span style="color:#ffffff">;</span>
<span style="color:#87ceeb">// fast forwards file pointer to end of file</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length</span><span style="color:#ffffff">-</span><span style="color:#cd5c5c">1</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
truncate
按照指定长度截断文件
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">truncate</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> length </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
从文件当前定位的位置开始,按照指定长度截断文件。
参数:
- length : ( Number ) 必选 截断后的文件长度
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Truncate file</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Truncate file data length to 100</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">truncate</span><span style="color:#ffffff">(</span> <span style="color:#cd5c5c">100</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
write
向文件中写入数据
<span style="background-color:#333333"><span style="color:#474747"><code><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">write</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> data </span><span style="color:#ffffff">);</span>
</code></span></span>
说明:
从文件当前定位的位置开始,写入数据到文件中。 如果文件中已经存在数据,新写入的数据将覆盖已有数据。
参数:
- data : ( String ) 必选 要写入的数据内容
返回值:
void : 无
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#87ceeb">// Write data to file</span><span style="color:#ffffff">
entry</span><span style="color:#ffffff">.</span><span style="color:#ffffff">createWriter</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">onwrite </span><span style="color:#ffffff">=</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">console</span><span style="color:#ffffff">.</span><span style="color:#ffffff">log</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Write data success!"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">};</span>
<span style="color:#87ceeb">// Write data to the end of file.</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">seek</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">length </span><span style="color:#ffffff">);</span><span style="color:#ffffff">
writer</span><span style="color:#ffffff">.</span><span style="color:#ffffff">write</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"New data!"</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
</code></span></span>
onwritestart
写入文件开始时的回调函数
说明:
onwrite
写入文件成功完成的回调函数
说明:
onabort
取消写入文件时的回调函数
说明:
onerror
文件写入操作失败时调用的回调函数
说明:
onwriteend
文件写入操作完成时的回调函数
说明:
不管成功或失败都会触发。
FileSystem
文件系统对象,用于管理特定本地文件目录
说明:
文件系统对象表示一个应用可访问的根目录。name属性用于标识此根目录的名称,与LocalFileSystem中的文件系统类型一一对应。root属性为文件目录对象,用于实际操作文件系统,参考DirectoryEntry。
属性:
示例:
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#cccccc"><!DOCTYPE html></span>
<span style="color:#f0e68c"><strong><html></strong></span>
<span style="color:#f0e68c"><strong><head></strong></span>
<span style="color:#f0e68c"><strong><meta</strong></span> <span style="color:#bdb76b"><strong>charset</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"utf-8"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#f0e68c"><strong><title></strong></span><span style="color:#ffffff">File Example</span><span style="color:#f0e68c"><strong></title></strong></span>
<span style="color:#f0e68c"><strong><script</strong></span> <span style="color:#bdb76b"><strong>type</strong></span><span style="color:#ffffff">=</span><span style="color:#ffa0a0">"text/javascript"</span><span style="color:#f0e68c"><strong>></strong></span>
<span style="color:#87ceeb">// 扩展API加载完毕后调用onPlusReady回调函数 </span><span style="color:#ffffff">
document</span><span style="color:#ffffff">.</span><span style="color:#ffffff">addEventListener</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"plusready"</span><span style="color:#ffffff">,</span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>false</strong></span> <span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 扩展API加载完毕,现在可以正常调用扩展API</span>
<span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff"> onPlusReady</span><span style="color:#ffffff">()</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">requestFileSystem</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> plus</span><span style="color:#ffffff">.</span><span style="color:#ffffff">io</span><span style="color:#ffffff">.</span><span style="color:#ffffff">PRIVATE_WWW</span><span style="color:#ffffff">,</span> <span style="color:#f0e68c"><strong>function</strong></span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// 可通过fs进行文件操作 </span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"File system name: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> fs</span><span style="color:#ffffff">.</span><span style="color:#ffffff">name </span><span style="color:#ffffff">);</span>
<span style="color:#87ceeb">// 通过fs.root获取DirectoryEntry对象进行操作 </span>
<span style="color:#87ceeb">// fs.root </span>
<span style="color:#ffffff">},</span> <span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#ffffff">(</span><span style="color:#ffffff"> e </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span><span style="color:#ffffff">
alert</span><span style="color:#ffffff">(</span> <span style="color:#ffa0a0">"Request file system failed: "</span> <span style="color:#ffffff">+</span><span style="color:#ffffff"> e</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message </span><span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span> <span style="color:#ffffff">);</span>
<span style="color:#ffffff">}</span>
<span style="color:#f0e68c"><strong></script></strong></span>
<span style="color:#f0e68c"><strong></head></strong></span>
<span style="color:#f0e68c"><strong><body></strong></span><span style="color:#ffffff">
Request file system
</span><span style="color:#f0e68c"><strong></body></strong></span>
<span style="color:#f0e68c"><strong></html></strong></span>
</code></span></span>
name
文件系统的名称
说明:
String 类型 只读属性
值为文件系统类型常量值字符串,如“PRIVATE_WWW”、“PRIVATE_DOCUMENTS”。
root
文件系统的根目录
说明:
DirectoryEntry 类型 只读属性
Flags
JSON对象,获取文件操作的参数
属性:
- create: (Boolean 类型 )是否创建对象标记
指示如果文件或目录不存在时是否进行创建,默认值为false。
- exclusive: (Boolean 类型 )反向操作标记
其本身没有任何效果,需与create属性值设置为true时一起使用,如果目标文件或目录已经存在则会导致文件或目录打开失败,默认值为false。
Metadata
JSON对象,保存文件或目录的状态信息对象
说明:
可通过DirectoryEntry或FileEntry对象的getMetaData方法获取
属性:
- modificationTime: (Date 类型 )文件或目录的最后修改时间
- size: (Number 类型 )文件的大小
若获取的是目录对象的属性则值为0。
- directoryCount: (Number 类型 )包含的子目录数
若自身是文件则其值为0。
- fileCount: (Number 类型 )目录的文件数
若自身是文件则其值为0。
FileEvent
文件或目录操作事件对象
说明:
所有文件或目录操作事件回调函数中都创建该对象的实例。 该对象从DOMEvent继承而来,可通过该其target属性获取事件触发的文件或目录操作对象。
属性:
- target: (DirectoryEntry 类型 )文件或目录操作对象
在不同的回调中指向的对象不同,可指向的对象包括:FileEntry、DirectoryEntry、FileReader、FileWriter。
RelativeURL
相对路径URL
说明:
用于访问5+ API中定义的应用沙盒目录,以“_”开头。
常量:
- "_www": (String 类型 )应用私有资源目录
对应常量plus.io.PRIVATE_WWW,仅应用自身可读。 保存应用的所有html、css、js等资源文件,“_www”后面加资源相对路径,如“_www/res/icon.png”。
注意:应用资源目录是只读目录,只能读取此目录下的文件,不能修改或新建。 - "_doc": (String 类型 )应用私有文档目录
对应常量plus.io.PRIVATE_DOC,仅应用自身可读写。 用于保存应用运行期业务逻辑数据,“_doc”后面加资源相对路径,如“_doc/userdata.json”。
- "_documents": (String 类型 )程序公用文档目录
对应常量plus.io.PUBLIC_DOCUMENTS,多应用时都可共享读写。 用于保存程序中各应用间可共享文件的目录,“_document”后面加资源相对路径,如“_document/share.doc”。
- "_downloads": (String 类型 )程序公用下载目录
对应常量plus.io.PUBLIC_DOWNLOADS,多应用时都可共享读写。 用于保存程序中各应用间可共享的下载文件目录,“_download”后面加资源相对路径,,如“_download/mydoc.doc”。
LocalURL
本地绝对路径URL
说明:
可在html页面中直接访问本地文件系统资源,以“file://”开头,后面跟随系统的绝对路径。
平台支持:
- Android - ALL (支持) :
如Android平台公共目录文件系统绝对路径为“/storage/emulated/0/DCIM/a.jpg”,对应的本地绝对路径URL为“file:///storage/emulated/0/DCIM/a.jpg”。
注意:Android10及以上系统对公共目录文件的访问有更严格的限制,详情参考:Android平台适配分区存储机制注意事项 - iOS - ALL (支持) :
如iOS平台绝对路径为“/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png”, 对应的本地绝对路径URL为“file:///var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/Library/Pandora/apps/HBuilder/doc/a.png”。 其中“/var/mobile/Containers/Data/Application/757966CF-345C-4348-B07F-EEF83CF9A369/”为iOS应用沙盒目录,安装后由系统分配。
注意:系统限制应用只能访问iOS应用沙盒目录,不能访问系统其它目录,绝地路径可用于访问5+ API定义的应用沙盒目录外的资源。
RemoteURL
网络路径URL
说明:
可在html页面中以网络资源模式访问本地资源,以“http://”开头,后面跟随相对路径。 如“http://www.dcloud.io/icon.png”。
AudioInfo
JSON对象,音频文件信息对象
说明:
通过getAudioInfo方法的成功回调函数返回
属性:
- duration: (Number 类型 )音频长度
单位为秒(s)。
FileInfo
JSON对象,文件信息对象
说明:
通过getFileInfo方法的成功回调函数返回
属性:
- digest: (String 类型 )文件摘要
按照传入的 digestAlgorithm 计算得出的文件摘要信息。
- size: (Number 类型 )文件大小
单位为字节。
ImageInfo
JSON对象,图片信息对象
说明:
通过getImageInfo方法的成功回调函数返回
属性:
- height: (Number 类型 )图片的原始高度
若获取的是目录对象的属性则值为0。
- orientation: (String 类型 )拍照时设备方向信息
可取值: "up" - 默认方向(手机横持拍照),对应 Exif 中的 1,或无 orientation 信息; "up-mirrored" - 同 up,但镜像翻转,对应 Exif 中的 2; "down" - 旋转180度,对应 Exif 中的 3; "down-mirrored" - 同 down,但镜像翻转,对应 Exif 中的 4; "left-mirrored" - 同 left,但镜像翻转,对应 Exif 中的 5; "right" - 顺时针旋转90度,对应 Exif 中的 6; "right-mirrored" - 同 right,但镜像翻转,对应 Exif 中的 7; "left" - 逆时针旋转90度,对应 Exif 中的 8。 更多详情参考图片扩展中的方向信息:http://sylvana.net/jpegcrop/exif_orientation.html。
- path: (String 类型 )图片的本地路径
绝对路径,以"file://"开头。
- type: (String 类型 )图片格式
- width: (Number 类型 )图片的原始宽度
单位为像素(px),不考虑旋转。
VideoInfo
JSON对象,视频文件信息对象
说明:
通过getVideoInfo方法的成功回调函数返回
属性:
- bitrate: (Number 类型 )视频码率
单位为kbps。
注意:HBuilderX3.1.14+版本支持。 - duration: (Number 类型 )视频长度
单位为秒(s)。
- height: (Number 类型 )视频高度
视频的真实像素值高度。
- orientation: (String 类型 )画面方向
取值范围:
- up - 表示正常方向
- down - 表示方向旋转180度
- left - 表示方向逆时针旋转90度
- right - 表示方向顺时针旋转90度
- resolution: (String 类型 )视频分辨率
格式为“宽*高”,如“1280*720”。
- size: (Number 类型 )文件大小
单位为字节。
- type: (String 类型 )视频格式
注意:HBuilderX3.1.14+版本支持。
- width: (Number 类型 )视频宽度
视频的真实像素值宽度。
FileEventCallback
文件事件回调
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onEvent</span><span style="color:#ffffff">(</span> <span style="color:#f0e68c"><strong>event</strong></span> <span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Event code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
文件或目录操作回调事件。 通常在FileReader和FileWriter对象的事件函数中触发。
参数:
- event: ( FileEvent ) 必选 文件事件对象
返回值:
void : 无
FileSystemSuccessCallback
请求文件系统成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> fs </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// File System operate code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- fs: ( FileSystem ) 必选 请求到的文件系统对象
返回值:
void : 无
FileResolveSuccessCallback
通过URL参数获取目录或文件对象成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// File or Direcory entry operate code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- entry: ( DirectoryEntry ) 必选 请求到的目录或文件对象
可指向文件或目录对象(DirectoryEntry|FileEntry)。
返回值:
void : 无
MetadataSuccessCallback
获取文件或目录状态信息成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> metadata </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Metadata code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- metadata: ( Metadata ) 必选 文件或目录的状态信息
返回值:
void : 无
EntrySuccessCallback
操作文件或目录对象成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entry </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Entry code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- entry: ( DirectoryEntry ) 必选 文件或目录对象的引用
可指向文件或目录对象(DirectoryEntry|FileEntry)。
返回值:
void : 无
EntrysSuccessCallback
操作文件或目录对象数组成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> entrys </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Entrys code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- entrys: ( DirectoryEntry ) 必选 文件或目录对象数组
可指向文件或目录对象数组(DirectoryEntry[]|FileEntry[])。
返回值:
void : 无
FileWriterSuccessCallback
写文件操作成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> writer </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// FileWriter code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- writer: ( FileWriter ) 必选 写文件对象的引用
返回值:
void : 无
FileSuccessCallback
文件操作成功的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> file </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// file code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- file: ( File ) 必选 文件数据对象的引用
返回值:
void : 无
FileErrorCallback
文件操作失败的回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onError</span><span style="color:#ffffff">(</span><span style="color:#ffffff"> error </span><span style="color:#ffffff">)</span> <span style="color:#ffffff">{</span>
<span style="color:#87ceeb">// Error code.</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- error: ( Exception ) 必选 文件操作失败的信息
返回值:
void : 无
IOSuccessCallback
成功回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onSuccess</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
不同接口触发的成功回调参数event包含的属性存在差异,具体参考对应的接口描述说明。
参数:
- event: ( Object ) 必选 回调参数
回调参数包含的属性由调用接口决定,具体参考对应的接口描述说明。
返回值:
void : 无
IOFailCallback
失败回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onFail</span><span style="color:#ffffff">(</span><span style="color:#98fb98">Exception</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">){</span>
<span style="color:#87ceeb">// Handle error</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> code </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">code</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误编码</span>
<span style="color:#f0e68c"><strong>var</strong></span><span style="color:#ffffff"> message </span><span style="color:#ffffff">=</span><span style="color:#ffffff"> error</span><span style="color:#ffffff">.</span><span style="color:#ffffff">message</span><span style="color:#ffffff">;</span> <span style="color:#87ceeb">// 错误描述信息</span>
<span style="color:#ffffff">}</span>
</code></span></span>
参数:
- error: ( Exception ) 必选 回调参数,错误信息
可通过error.code(Number类型)获取错误编码; 可通过error.message(String类型)获取错误描述信息。
返回值:
void : 无
IOCompleteCallback
操作完成回调函数
<span style="background-color:#333333"><span style="color:#474747"><code>
<span style="color:#f0e68c"><strong>function</strong></span> <span style="color:#f0e68c"><strong>void</strong></span><span style="color:#ffffff"> onComplete</span><span style="color:#ffffff">(</span><span style="color:#f0e68c"><strong>event</strong></span><span style="color:#ffffff">){</span>
<span style="color:#ffffff">}</span>
</code></span></span>
说明:
调用成功或失败都会触发此回调。
参数:
- event: ( Object ) 可选 回调参数
调用成功时回调参数与IOSuccessCallback一致,调用失败时回调参数与IOFailCallback一致。
返回值:
void : 无