使用HTML5 File API实现客户端log读写

本文主要介绍使用"> HTML5 File API 实现客户端 log 读写,并实现客户端 log 下载功能,帮助用户更方便的收集客户端 log。

在 HTML 5 里,从 Web 网页上访问本地文件系统变的十分的简单,那就是使用 File API。 这个 File 规范说明里提供了一个 API 来表现 Web 应用里的文件对象,您可以通过编程来选择它们,访问它们的信息。File API 有以下几部分 JavaScript 类组成:

读取、操作文件的类:File/Blob, FileList, FileReader 创建、写入文件的类:BlobBuilder, FileWriter 目录、文件系统访问的类:
DirectoryReader, File
Entry/DirectoryEntry,LocalFileSystem

规范里定义了两种类型的 API:异步和同步。一般情况下应该使用异步 API,这样可以防止调用 API 的时候阻塞 UI 进程。同步 API 只可以在 Web Workers 上下文中使用,关于 Web Worker 的资料,可以在文章最后的参考链接中找到。 使用同步版本的 API 不需要指定回调函数,所有的方法将通过返回值返回方法调用的结果。在本文中将主要使用同步 API,原因有以下两点:

需要保证用户调用 HTML5 Log 方法之前,HTML File API 已经初始化完毕 需要保证 log 信息写入的顺序

HTML5 规范可以参考 W3C 官方网站。 HTML5 File API 规范可以参考 W3C 上的 官方网站。 HTML5 File API: Directories and System 规范可以参考 W3C 上的 官方网站。 HTML5 File API: Writer 规范可以参考 W3C 上的官方网站。

File API JavaScript 类接口定义介绍

本文中主要使用了同步版本的 FileEntry、FileWriter 和 DirectoryEntry 类。

清单 1. FileEntrySync 接口定义

[No
InterfaceObject] interface FileEntrySync:EntrySync { FileWriterSync createWriter() raises (FileException);// 创建 FileWriter,用来写内容到文件 File file() raises (FileException);// 返回代表当前 File 状态的实例 };

清单 2. FileWriterSync 接口定义

[NoInterfaceObject] interface FileWriterSync { readonly attribute unsigned long long position;// 下一次要写入内容的位置 readonly attribute unsigned long long length;// 文件的长度 void write (Blob data) raises (FileException);// 写入内容到文件 void seek (long long offset) raises (FileException);// 设置下一次要写入内容的位置 void truncate (unsigned long long size) raises (FileException);// 改变文件长度到指定
大小 };

清单 3. DirectoryEntrySync 接口定义

[NoInterfaceObject] interface DirectoryEntrySync:EntrySync { DirectoryReaderSync createReader () raises (FileException);// 创建 Reader 遍历目录中的文件 // 根据文件路径,得到目录中文件 FileEntrySync getFile (DOMString path, optional Flags options) raises (FileException); // 创建或者
获取子目录 DirectoryEntrySync getDirectory (DOMString path, optional Flags options) raises (FileException); void removeRecursively () raises (FileException);// 删除目录以及这个目录下面的所有内容 };

时间: 2024-12-27 03:03:07

使用HTML5 File API实现客户端log读写的相关文章

html5- HTML5 File API 实现客户端log 请问有人做过吗?在线等

问题描述 HTML5 File API 实现客户端log 请问有人做过吗?在线等 http://www.ibm.com/developerworks/cn/web/1210_jiangjj_html5log/ 在线等 很急的 求大神帮助

html5 File API的文件操作使用例子

写在前面 这段时间一直有朋友在问文件上传下载的事,搜一下论坛发现相关的问题不少,但是不够系统,本着为人民服务的态度本文试着将一些问题整理一下,争取用初学者可以更明确的去处理相关的问题.文件上传是开发中绕不过的一个坎儿,对于很多没有经验的人来说,简直懵逼,目前我所知道的上传方式有下面这几种: 传统flash上传 隐藏iframe框上传 表单数据提交 HTML5的新工具--File API 本文限于篇幅先介绍最后一种使用html5 File API进行文件上传的相关细节. 历史上,JavaScrip

HTML5的File API使用介绍

File API的宗旨是为Web开发人员提供一种安全的方式,以便在客户端访问用户计算机中的文件,并更好地对这些文件执行操作. HTML5虽然可以让我们访问本地文件系统,但是文件只有在用户触发了文件读取行为才能读取到File API,这通常在发生在表单文件选择和拖拽的情况下. 一. File API的兼容性 File API在各大主流浏览器中的支持情况如下图所示: 备注:图片转载自: http://www.ibm.com/developerworks/cn/web/1210_jiangjj_htm

HTML5使用 JavaScript File API 实现文件上传

文件来源:http://www.ibm.com/developerworks/cn/web/1101_hanbf_fileupload/ 简介:File API 是 Mozilla 向 W3C 提出的一个草案,旨在用标准 JavaScript API 实现本地文件的读取.File API 将极大地方便 Web 端的文件上传等操作,并有望成为未来的 HTML 5 规范的一部分.本文将介绍 File API 的概况,并用两个实例展示 File API 的应用. 概述 以往对于基于浏览器的应用而言,访

通过Canvas及File API缩放并上传图片完整示例

创建一个只管的用户界面,并允许你控制图片的大小.上传到服务器端的数据,并不需要处理enctype为 multi-part/form-data 的情况,仅仅一个简单的POST表单处理程序就可以了. 好了,下面附上完整的代码示例 Canvas简介  canvas 是一个HTML5新增的DOM元素,允许用户在页面上直接地绘制图形,通常是使用JavaScript.而不同的格式标准也是不同的,比如SVG是光栅API(raster API) 而VML却是向量API(vector API).可以考虑使用Ado

WPS2013造成的HTML5 file.type值异常的解决方法

处理代码的兼容性是前端攻城师们的家常便饭了,一般是对各种浏览器进行兼容性处理.但是有时候我们也会遭遇到浏览器以外的影响因素,这个是经常会被忽视掉的内容.比如前几天就听说客户端安装迅雷.暴风影音等软件会修改http连接数,从而影响浏览器的http并发数.今天有幸,让我见识了另一个因客户端安装个别软件而造成的程序兼容问题.罪魁祸首便是金山WPS2013. 故事的开始是这样的...我用HTML5写了一个文件上传插件,其中使用到了file API,在验证文件类型的时候使用了file.type获取的文件M

JavaScript File API实现文件上传预览_javascript技巧

一.概述以往对于基于浏览器的应用而言,访问本地文件都是一件头疼的事情.虽然伴随着 Web 2.0 应用技术的不断发展,JavaScript 正在扮演越来越重要的角色,但是出于安全性的考虑,JavaScript 一直是无法访问本地文件的.于是,为了在浏览器中能够实现诸如拖拽并上传本地文件这样的功能,我们就不得不求助于特定浏览器所提供的各种技术了.比如对于 IE,我们需要通过 ActiveX 控件来获取对本地文件的访问能力,而对于 Firefox,同样也要借助插件开发.由于不同浏览器的技术实现不尽相

通过 File API 使用 JavaScript 读取文件

通过 File API 使用 JavaScript 读取文件 By Eric Bidelman 已发布: 六月 18th, 2010Comments: 273 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的标准方式.为了举例说明其功能,可使用 File API 在向服务器发送图片的过程中创建图片的缩略图预览,或者允许应用程序在用户离线时保存文件引用.另外,您可以使用客户端逻辑来验证上传内容的 mimetype 与其文件扩展名是否匹配,或者限制上传内容的大小.

开大你的音响,感受HTML5 Audio API带来的视听盛宴

话说HTML5的炫酷真的是让我爱不释手,即使在这个提到IE就伤心不完的年代.但话又说回来,追求卓越Web创造更美世界这样高的追求什么时候又与IE沾过边儿呢?所以当你在看本文并且我们开始讨论HTML5等前沿东西的时候,我们默认是把IE排除在外的.本文的例子可以工作在最新的Chrome及Firefox浏览器下,其他浏览器暂未测试. 若下方未出现演示页面请刷新.  你也可以点此全屏演示  或者前往GitHub进行代码下载然后本地运行. 你还可以 下载示例音乐(如果你手头没有音频文件的话) 文件列表:b