HTML5 本地文件操作之FileSystemAPI实例(三)
文件夹操作demo
1.读取根目录文件夹内容
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.PERSISTENT, 5 * 1024, initFs, errorHandler);
function initFs(fs) {
//显示根目录下的内容
var dirReader = fs.root.createReader();
var entries = [];
var readEntries = function () {
//DirectoryReader.readEntries() 方法一次读取内容的个数不一定
//返回FileEntry数组
dirReader.readEntries(function (results) {
console.info(results);
if (!results.length) {
showEntries(entries.sort());
} else {
entries = entries.concat(toArray(results));
readEntries();
}
}, errorHandler);
}
readEntries();
}
function errorHandler(err) {
console.info(err);
}
function toArray(list) {
return Array.prototype.slice.call(list || [], 0);
}
//显示读取结果
function showEntries(entries) {
var fragment = document.createDocumentFragment();
entries.forEach(function (entry, i) {
var li = document.createElement('li');
li.innerHTML = ['是否是目录:', entry.isDirectory, '----文件名:', entry.name].join('');
fragment.appendChild(li);
});
document.querySelector('#filelist').appendChild(fragment);
}
2.读取子目录‘MyPictures’,'MyPicturres/subfolder'
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.TEMPORARY, 5 * 1024, initFs, errorHandler);
function initFs(fs) {
//创建目录
fs.root.getDirectory('MyPictures', { create: true }, function (dirEntry) {
console.log('创建目录成功:' + dirEntry.fullPath);
console.info(dirEntry);
}, errorHandler);
}
function errorHandler(err) {
console.info(err);
}
3.创建子目录
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.TEMPORARY, 5 * 1024, initFs, errorHandler);
function initFs(fs) {
//创建子目录,在使用getDirectory()方法创建父目录不存在的目录,将引发异常
//为了使用方便以递归的方式,添加各个子目录
var path = 'musi/genres/jazz/';
function createDir(rootDirEntry, folders) {
if (folders[0] == '.' || folders[0] == '') {
folders = folders.slice(1);
}
rootDirEntry.getDirectory(folders[0], { create: true }, function (dirEntry) {
console.info(dirEntry.fullPath);
if (folders.length) {
createDir(dirEntry, folders.slice(1));
}
}, errorHandler)
}
createDir(fs.root, path.split('/'));
}
function errorHandler(err) {
console.info(err);
}

更多:
HTML5 本地文件操作之FileSystemAPI实例(二)
HTML5 本地文件操作之FileSystemAPI实例(一)
HTML5 本地文件操作之FileSystemAPI整理(二)
HTML5 本地文件操作之FileSystemAPI实例(三)的更多相关文章
- HTML5 本地文件操作之FileSystemAPI实例(四)
目录操作Demo二 1.删除目录 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSyst ...
- HTML5 本地文件操作之FileSystemAPI实例(二)
文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...
- HTML5 本地文件操作之FileSystemAPI实例(一)
文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...
- HTML5 本地文件操作之FileSystemAPI整理(二)
一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...
- HTML5 本地文件操作之FileSystemAPI整理(一)
一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type ...
- HTML5 本地文件操作之FileSystemAPI简介
一.FileSystemAPI简介 HTML5的文件操作Api中 1.FileAPI,用于基础的客户端本地文件读取,目前大多数接口已经被主流浏览器支持,点击查看更多参考 2.FileSystemAPI ...
- H5读取本地文件操作
H5读取本地文件操作 本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php. ...
- 【Egret】实现web页面操作PC端本地文件操作
Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...
- html5之文件操作
用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步API,使用该API可以在浏览器主线程中异步访问文件系统,读取文件中的数据.到目前文职,只有FF3.6+和Chrome6 ...
随机推荐
- HDU4267 树状数组
题意描述: 给定一个数组,有两种操作: 操作一:a b k c 对于区间a~b之间的元素如果下标满足(i-a)%k=0则给元素i加上c 操作二:a 查询下标为a的元素当前值 解题思路 ...
- 027.Zabbix的定期备份
一 数据库备份及恢复 1.1:全库备份 [root@zabbix01 ~]# mysqldump -uroot -p123456 --opt zabbix > zabbix.sql [root@ ...
- 一个简单的日志函数C++
有时候程序总是会发生意想不到的情况,为了方便排查错误的情况,还是写日志比较方便.这里自己写了一个简单的函数,能实现基本的功能. BOOL WriteLog(char * DataBuffer) { C ...
- 网页图表Highcharts实践教程之图表区
网页图表Highcharts实践教程之图表区 网页图表Highcharts图表区 图表区是图表的基本区域.所有的数据和图形都是绘制在图表区中.从图形绘制范围来分,图表区域分为外层图表区和绘图区.本章将 ...
- 在Activity中响应ListView内部按钮的点击事件的两种方法
转载:http://www.cnblogs.com/ivan-xu/p/4124967.html 最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在 ...
- 关于ListView中EditText在软键盘弹出后的焦点问题
转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. ...
- python基础-UDP、进程、进程池、paramike模块
1 基于UDP套接字1.1 介绍 udp是无连接的,是数据报协议,先启动哪端都不会报错 udp服务端 import socket sk = socket() #创建一个服务器的套接字 sk.bind( ...
- inline关键字的作用
一.在C&C++中,inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 如下面一宏定义表达式: #define express(v1,v2) (v1 ...
- 使用Docker中国官方镜像的加速地址
vi /etc/docker/daemon.json # 添加如下内容 { "registry-mirrors": ["https://registry.docker-c ...
- Failed to connect socket to '/var/run/libvirt/libvirt-sock'的问题解决
1.增加libvirtd用户组 groupadd libvirtd 2.设置用户到组 sudo usermod -a -G libvirtd $USER 3.设置启动libvirtd服务的用户组 vi ...