探索HTML5之本地文件系统API - File System API

日期:2012-4-12  来源:GBin1.comhtml

探索HTML5之本地文件系统API - File System API

新的HTML5标准给咱们带来了大量的新特性和惊喜,例如,画图的画布Canvas,多媒体的audio和video等等。除了上面咱们提到的,还有比较新的特性 - File System API,它可以帮助咱们来突破沙箱访问咱们本地的文件系统,从而有效的弥补桌面和web应用之间的鸿沟。在今天这篇文章中,咱们将会介绍基本的File system API的知识,探索HTML5的本地文件系统API的新特性,但愿你们可以喜欢!html5

介绍

“咱们再也不须要下载而且安装软件。一个简单的web浏览器和一个可供使用的互联网就足以让咱们在任什么时候间,任何地点,还有任何平台上使用任何web应用程序。”

简 单来讲,web应用很酷,可是相对于桌面应用来讲,它们有比较显著的弱点:它们没法在一个有层次的文件夹结构体即文件系统中互动和组织。 幸运的是,若是咱们使用Filesystem API,咱们能够作到。这个API帮助咱们控制私有的本地文件系统“沙箱(sandbox)",在这里咱们能够读和写文件,建立和排列文件夹。虽然在咱们 写这篇文章的时候,只有Google的Chrome完整的支持Filesystem API,我以为咱们仍是有必要学习这个强大而且方便的本地存储特性。web

本地文件系统API包含了俩个不一样的版本。异步API,对于通常的应用来讲很是有用。同步API,特别为web设计。这篇文章中,咱们将介绍异步版本的API。api

步骤一:开始

首先咱们须要经过请求一个LocalFile对象来获得HTML5文件系统的访问,使用window.requetFileSystem全局方法:浏览器

window.requestFileSystem(type, size, successCallback, opt_errorCallback)

前俩个参数,你指定须要的生命周期类型和文件系统的大小。一个持久性的(Persistent)文件系统很是适合长期保存用户数据。浏览器不会删除,除非用户特地要求。一个临时性(Temporary)的文件系统很是适合web应用来缓存数据,可是在浏览器删除文件系统后任然能够操做。size用来指定字节大小,通常指定有效的最大访问存储大小。缓存

第 三个参数是一个回调函数(callback),当用户代理成功的提供了一个文件系统后触发。它的主要参数是一个FileSystem对象。而且咱们能够添 加一个可选的callback函数,用来在出错的时候调用,或者请求被拒绝的时候。参数是一个FileError对象。虽然这个对象是可选的,最好仍是捕 捉这些错误,由于不少地方可能会出错。安全

文件系统获得这些方法依赖于最初包含的document。全部的document或者web应用来自 于同一个最初来源共享一个文件系统。两个document或者应用来自于不一样的来源彻底不一样而且不可联系。一个文件系统严格被限制访问一个应用,不能访问 另一个应用保存的数据。同时也对于其它的文件独立。这是一件好事:让文件访问不相干的系统文件资源,例如,操做系统的文件,彻底没有必要,也不安全。异步

咱们看看这个例子:ide

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.TEMPORARY, 5*1024*1024, initFS, errorHandler);
function initFS(fs){
  alert("Welcome to Filesystem! It's showtime :)"); // Just to check if everything is OK :)
  // place the functions you will learn bellow here
}
function errorHandler(){
  console.log('An error occured');
}

这 里咱们建立而来一个临时的5M文件系统存储。提供了一个成功的callback函数,用阿里操做咱们的文件系统。而且添加了一个错误处理,用来处理错误。 这里errorhandler()方法很是具备通常性。 若是你想的话,你能够建立一个优化版本,显示给用户更加详细的error信息。函数

...

原文来自:探索HTML5之本地文件系统API - File System API

相关文章
相关标签/搜索