html5 本地文件系统,本地文件系统 客户端存储 WebAPI编程 [HTML5知典]
本地文件系统
首先要声明的是,这里的本地文件系统并不是客户端操作系统下的本地磁盘文件系统,而是Web应用程序在客户端创建和管理的一个与页面相关联的沙盒文件系统。
概述
本地文件系统(Local FileSystem)API是通过FileSystem对象和window.requestFileSystem()方法来实现的。
Web应用程序可以通过调用window.requestFileSystem()来请求对一个沙盒文件系统的访问权限。调用requestFileSystem()会创建一个新的沙盒存储空间。成功调用之后会返回一个FileSystem对象。
代码示例
请求文件系统
通过调用window.requestFileSystem()请求对沙盒文件系统的访问权限:
//浏览器的兼容性
window.requestFileSystem = window.requestFilsSystem || window.webkitRequestFileSystem;
window.requestFileSystem(type, size, successCallback, opt_errorCallback);
下面对调用requestFileSystem()时传递的参数作个简单的介绍:
* type \\ 文件存储是否持久。可为PERSISTENT,TEMPORARY。通过TEMPORARY存储的数据可由浏览器自行决定删除。要请求PERSISTENT存储,必须获得用户或应用的明确授权,并需要用户向应用授予配额。
* size \\存储空间大小(以字节为单位)。
* successCallback \\ 文件系统请求成功时调用的回调函数。其参数为FileSystem对象。
* opt_errorCallback \\ 用于处理错误或获取文件系统的请求遭到拒绝时可选的回调。其参数为FileError对象。
创建文件夹
fileSystem.root.getDirectory('Hudao', {create: true}, function(dirEntry) {
console.log('The directory'name is '+ dirEntry.name);
}, opt_errorCallback);
上面例子中,在根目录中创建一个文件夹。getDirectory()方法用来读和创建目录。该方法第一个参数可以传递一个名字或者路径来创建。
创建文件
fileSystem.root.getFile('hudao.txt', {create: true, exclusive: true}, function(fileEntry) {
console.log('The file's name is '+fileEntry.name);
}, opt_errorCallback);
上面例子中在根目录下创建一个空的文件hudao.txt。getFile()方法用来读和创建文件。
拷贝文件
function copy(currentDirec, srcEntry, destDir) {
currentDirec.getFile(srcEntry, {}, function(fileEntry) {
currentDirec.getDirectory(destDir, {}, function(dirEntry) {
fileEntry.copyTo(dirEntry);
}, errorHandler);
}, errorHandler);
}
copy(fileSystem.root, 'hudao.txt', 'Documents/');
上面的例子拷贝hudao.txt从ROOT到Document目录下。
移动文件
function move(currentDirec, srcEntry, directoyName) {
currentDirec.getFile(srcEntry, {}, function(fileEntry) {
currentDirec.getDirectory(directoryName, {}, function(dirEntry) {
fileEntry.moveTo(dirEntry);
}, errorHandler);
}, errorHandler);
}
move(fileSystem.root, 'hudao.txt', 'Documents/');
上面的例子是移动hudao.txt到Document的目录下。
重命名文件
function rename(currentDirec, srcEntry, newName) {
currentDirec.getFile(srcEntry, {}, function(fileEntry) {
fileEntry.moveTo(currentDirec, newName);
}, errorHandler);
}
rename(fileSystem.root, 'hudao.txt', 'hudaokeji.txt');
上面的例子是将hudao.txt重命名成hudaokeji.txt。
参考
html5 本地文件系统,本地文件系统 客户端存储 WebAPI编程 [HTML5知典]相关推荐
- java2048设计说明,Html5中的本地存储设计理念
Web应用的发展,使得客户端存储使用得也越来越多,而实现客户端存储的方式则是多种多样.最简单而且兼容性最佳的方案是Cookie,但是作为真正的客户端存储,Cookie则存在很多致命伤.此外,在IE6及 ...
- html5本地数据库 没有用,【HTML5初探之本地存储】如果没有数据库。。。
导航 [初探HTML5之使用新标签布局]用html5布局我的博客页! [HTML5初探之form标签]解放表单验证.增加文件上传.集成拖放 [HTML5初探之绘制图像(上)]看我canvas元素引领下 ...
- html5补充(本地存储·)
HTML5语义化标签 HTML5新增的语义化标签主要有: article>.<section.<nav.<aside.<header.<footer.<tim ...
- HTML5中web本地存储
1.1.1 什么是html5web本地存储(web存储)? html5web本地存储可以在本地存储用户的浏览数据.web本地存储相对cookie更加安全和快速,它的数据不会保存在服务器上.它也可以存储 ...
- html5保存资源本地,html5之Localstorage本地存储
题外话 今天把博客里面的内容,同步在github的issues中了.具体地址是:https://github.com/confidence68/blog/issues ,欢迎大家访问,给star. L ...
- unity本地存储/客户端存储方式
提到客户端存储,正常思维是json,text,sqllite Unity恰恰提供了一种简洁的原生本地存储,不用麻烦的封装及输入输出. Unity3D游戏数据存储在本地( unity3d 游戏本地存储玩 ...
- 分布式文件系统MFS(moosefs)实现存储共享(一)
分布式文件系统MFS(moosefs)实现存储共享 作者:田逸([email]sery@163.com[/email]) from: [url]http://net.it168.com/a2009/0 ...
- [HTML5点滴]客户端存储那些事
客户端存储 译者:文蔺 原文:http://www.html5rocks.com/en/tutorials/offline/storage/ 客户端存储 介绍 本文是关于客户端存储(client-si ...
- Ceph分布式文件系统及服务器远程存储的部署
要求 1)Ceph分布式文件系统的平台要求:CentOS Linux 7: 2) Monitor节点要求:容忍单点故障,任何故障下保持一致性: 3) 数据节点要求:容忍单点故障,单点故障下无数据丢失: ...
最新文章
- 放弃 Notepad++,事实证明,还有 5 款更牛逼……
- Atutor、 Claroline、 Moddle及Sakai号称为四大开源课程管理系统
- 英伟达“暴力碾压”谷歌:53分钟训练完BERT,2.2毫秒完成推理,创下NLP三项新纪录...
- input image和img button区别
- 局域网查看计算机慢,局域网内的电脑访问共享文件夹速度很慢如何解决
- Java不兼容类型问题解决方案
- esp8266接收到的数据如何存放到数组中_Java中HashMap的实现原理
- Java 的单例模式
- 并查集——团伙(洛谷 P1892)
- 八.创建型设计模式——Singleton Pattern(单例模式)
- 【手写数字识别】基于matlab GUI SVM手写数字识别【含Matlab源码 676期】
- Axure使用图标字体
- ubuntu20.04 NVIDIA显卡驱动安装教程(Y9000p)
- 12款自动生成器,无聊人士自娱自乐专用
- SQL2005安装错误1706,安装程序找不到需要的文件。请检查……,SQL没有安装OWC11”解决方法...
- 华为P9移动定制版刷为联通移动双4G版本
- 数字取证wireshark流量分析
- 每日问答——PMP题库训练2
- java多个pdf合并为一个pdf,并通过feign下载
- Java学习---控制流程与方法
热门文章
- 大数据在职研究生哪个好_各种大数据在职研究生到底有什么不同之处
- jquery改变css样式和vue改变样式的区别
- 穿搭保暖记,显瘦还时髦
- org.apache.axis.client.Service调用服务webservice时报Unexpected wrapper element sayHello found. Expected
- 【机器学习中的数学基础】矩阵特征值、特征向量和特征值分解的几何意义
- Swal.fire使用
- Java这十年 - Java技术本纪 (3)
- matlab从无到有系列(七):GUI程序设计
- 复选框 遍历选中 php,jQuery的复选框选择并且获取值
- 如何取得Android手机的当前语言设置