HTML5 本地文件操作之FileSystemAPI整理(一)
一、请求配额
DeprecatedStorageInfo对象
window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口
方法:
1.requestQuota(type,size,successCB,errorCB);请求配额
2.queryUsageAndQuota();获取配额信息
window.requestFileSystem(window.PERSISTENT, gratedBytes, initFs, errorHandler);
DOMFileSystem对象
文件系统对象,用于管理特定本地文件目录
说明:文件系统对象表示一个应用可访问的根目录。name属性用于标识此根目录的名称,与LocalFileSystem中的文件系统类型一一对应。root属性为文件目录对象,用于实际操作文件系统,参考DirectoryEntry。
属性:
1.name:当前沙盒系统名称,协议、域名、端口+操作类型
2.root:当前沙盒系统的根目录对象DirectoryEntry
二、文件操作
1.FileEntry
属性:
1.name:文件名称,包括扩展名
2.fullPath:相对沙盒根目录的全名称
3.isFile:是否是文件,FileEntry对象固定为true
4.isDirectory:是否是文件夹,FileEntry对象固定为false
5.filesystem:当前fs(FileSystem对象)的引用
方法:
fileEntry.getMetadata(successCallback, opt_errorCallback);
fileEntry.remove(successCallback, opt_errorCallback);
fileEntry.moveTo(dirEntry, opt_newName, opt_successCallback, opt_errorCallback);
fileEntry.copyTo(dirEntry, opt_newName, opt_successCallback, opt_errorCallback);
fileEntry.getParent(successCallback, opt_errorCallback);
fileEntry.toURL(opt_mimeType); fileEntry.file(successCallback, opt_errorCallback);
fileEntry.createWriter(successCallback, opt_errorCallback);
1.entry.getMetadata( successCB, errorCB ),获取文件信息
MetadataSuccessCallback
获取文件或目录状态信息成功的回调函数,获取文件信息成功返回Metadata对象,详细参考见下面。
void onSuccess( metadata ) {
// Metadata code.
}
2. entry.moveTo( parent, newName, succesCB, errorCB ); 移动文件
说明:以下情况移动目录将会导致失败: 要移动到的目标目录无效; 要移动到的目标路径被其它文件占用; 移动文件成功通过succesCB回调返回,失败则通过errorCB返回。
参数:
parent: ( DirectoryEntry ) 必选 要移动到的目标目录
newName: ( DOMString ) 可选 移动后的文件名称,默认为原始文件名称
succesCB: ( EntrySuccessCallback ) 可选 移动文件成功的回调函数
回调函数中的参数保存新的文件对象。
errorCB: ( FileErrorCallback ) 可选 移动文件失败的回调函数
3. entry.copyTo( parent, newName, succesCB, errorCB ); 拷贝文件
4. DOMString entry.toURL(); 获取文件路径转换为URL地址,返回‘filesytem:http://’格式
5. DOMString entry.toLocalURL();: 获取文件路径转换为本地路径URL地址,测试时没有该方法
6. DOMString entry.toRemoteURL();获取文件路径转换为网络路径URL地址,测试时没有该方法。
7.entry.remove( succesCB, errorCB ); 删除文件
8. entry.getParent( succesCB, errorCB ); 获取文件所属的父目录
9. entry.createWriter( succesCB, errorCB ); 获取文件关联的写文件操作对象FileWriter,在FileWriterSuccessCallback 参数中返回
10. entry.file( succesCB, errorCB );获取文件数据对象,在FileSuccessCallback 参数总获取
11.
2.FileWriter对象
属性:
1.readyState:当前文件读取写入状态,常量值如下:
- INIT: 值为0,写文件初始化状态
- WRITING: 值为1,正在写入文件状态
- DONE: 值为2,写文件操作完成状态
2.position:当前操作指针位置
3.length:当前写入文件的长度,字节数
4.error:异常
方法:
1.seek(number):将写入流,指针移动到指定位置,说明:定位文件的操作位置,有效值为0到文件的总长度减1。 0表示文件的起始位置。
2.abort():终止写入,说明:写入文件数据操作开始后,可通过此方法取消写入文件数据操作。调用此方法后将触发文件写入对象的onabort事件。
3.truncate(number):按照指定长度截断文件。
4.write(data):从文件当前定位的位置开始,写入数据到文件中。 如果文件中已经存在数据,新写入的数据将覆盖已有数据
data:File对象,Blob对象,DOMString类型。
5.
事件:
- onwritestart: 写入文件开始时的回调函数
- onprogress: 写入文件过程中的回调函数
- onwrite: 写入文件成功完成的回调函数
- onabort: 取消写入文件时的回调函数
- onerror: 文件写入操作失败时调用的回调函数
- onwriteend: 文件写入操作完成时的回调函数
3.FileReader对象,参考:http://www.cnblogs.com/tianma3798/p/5836484.html
三、参数对象
Metadata
JSON对象,保存文件或目录的状态信息对象
说明:可通过DirectoryEntry或FileEntry对象的getMetaData方法获取
属性:
modificationTime: (Date 类型 )文件或目录的最后修改时间
size: (Number 类型 )文件的大小,若获取的是目录对象的属性则值为0。
directoryCount: (Number 类型 )包含的子目录数,若自身是文件则其值为0。测试时不可用
fileCount: (Number 类型 )目录的文件数,若自身是文件则其值为0。测试时不可用
更多:
HTML5 本地文件操作之FileSystemAPI整理(一)的更多相关文章
- HTML5 本地文件操作之FileSystemAPI整理(二)
一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...
- HTML5 本地文件操作之FileSystemAPI实例(三)
文件夹操作demo 1.读取根目录文件夹内容 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFi ...
- HTML5 本地文件操作之FileSystemAPI实例(二)
文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...
- HTML5 本地文件操作之FileSystemAPI实例(一)
文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...
- HTML5 本地文件操作之FileSystemAPI实例(四)
目录操作Demo二 1.删除目录 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSyst ...
- HTML5 本地文件操作之FileSystemAPI简介
一.FileSystemAPI简介 HTML5的文件操作Api中 1.FileAPI,用于基础的客户端本地文件读取,目前大多数接口已经被主流浏览器支持,点击查看更多参考 2.FileSystemAPI ...
- 【Egret】实现web页面操作PC端本地文件操作
Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...
- H5读取本地文件操作
H5读取本地文件操作 本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php. ...
- Linux文件操作常用命令整理
收集.整理日常系统管理或维护当中的,常用到的一些关于文件操作的命令或需求,后续会慢慢补充.完善! 查看.生成指定目录的目录树结构? [root@DB-Server ~]#tree #当前目录 ...
随机推荐
- java多线程整理
参考博客: http://blog.csdn.net/javazejian/article/details/50878598
- 【LOJ】#2178. 「BJOI2017」机动训练
题解 遇见平方和就转有序对呗 dp类似从很多点出发每次走一步的转移方式 然后我too naive的,枚举路径长度来决定更新次数,愉快TLE 改成记搜就过了 代码 #include <bits/s ...
- 阿里云服务器(windows)配置项目域名
一.数据库是放在阿里云上!二.项目部署到服务器上,tomcat会一直运行(除非你手动停止)三.设置域名及tomcat配置(1)在阿里云控制台上的域名解析设置中添加记录,将域名映射到你的阿里云esc公网 ...
- 跟厂长学PHP7内核(四):生命周期之开始前的躁动
上一章我们对PHP的源码目录结构有了初步了解,本章我们继续从生命周期的维度对PHP进行剖析. 一.概览 生命周期是什么呢?你可以把它看作执行过程,PHP的生命周期也就是它从开始执行到结束执行的过程. ...
- Android中,利用Intent传递对象值
在很多情况下,调用startActivity(Intent) 方法,跳转到另外一个Activity或其他component,需要传递一个对象给它. 可以让这个要传递的对象所属类实现Serializab ...
- C/C++ 和 PHP 技术经典图书,学习视频资料总结
技术经典图书 1.<计算机科学导论> 作者:(美)佛罗赞,(美)莫沙拉夫著,刘艺等译(强推) 涵盖了大部分计算机课程的内容,但都是简介,是最基础的知识,非常适合计算机初学者看,强烈建议把课 ...
- String和StringBuilder、StringBuffer的区别?
估计很多Java初学者在学习Java的过程中都会遇到这个问题,那就是String,StringBuilder,StringBuffer这三个类之间有什么区别?今天在这里整理一下,希望对大家有帮助哈.如 ...
- 【COGS-2638】数列操作ψ 线段树
题目链接: http://cogs.pro/cogs/problem/problem.php?pid=2638 Solution 用jry推荐的写法即可做到单次$O(log^{2}N)$,不过随机数据 ...
- BZOJ3712[PA2014]Fiolki 建图+倍增lca
居然是一道图论题 毫无思路 我们对于每一次的融合操作 $(a,b)$ 建一个新点$c$ 并向$a,b$连边 再将$b$瓶当前的位置赋成$c$ 这样子我们就可以建成一个森林 现在枚举每一种反应$M_i$ ...
- Nginx增加模块
http://blog.csdn.net/loyachen/article/details/50902667