HTML5 实现一个访问本地文件的实例

sunnys小易

sunnys小易

2016-02-19 12:35

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享HTML5 实现一个访问本地文件的实例教程,希望对大家能有一点小小的帮助。
在前面的几篇文章里,我向大家共享了几个HTML5的例子,分别是拖拽功能演示,页面内容可编辑化演示 和 本地存储功能演示。 今天,我将向大家分享一个简单的应用,用来演示使用FileReader的方法, FileReader是HTML5里提供的一个文件操作API。

当你在看我前面所写的HTML 5例子时,我正在思考创建一个简单但又适用的例子、以一种更新奇的方式来演练这些HTML5新特性。我的目标并不是想单纯的展示这些HTML 5 API,而是想用例子来告诉开发人员如何真正的以一种实用的和创新的方式实现这些API。

在HTML5里,从Web网页上访问本地文件系统变的十分的简单,那就是使用File API。这个File规范说明里提供了一个API来表现Web应用里的文件对象,你可以通过编程来选择它们,访问它们的信息。这个File API包括:
一个FileList序列,代表着由本地系统里选中的单个的文件组成的数组。用来选择文件的用户接口可以通过input type=file调用实现。
一个Blob接口,它代表原始二进制数据,通过Blob对象你可以访问里面的字节数据。
一个File接口,它里面存有文件的只读属性信息,像文件名,文件类型,文件数据访问的地址。
一个FileReader接口,它提供了读取一个文件的方法,和一个获取文件读取结果的事件模型。
一个FileError接口和一个FileException对象,它们用来定义这个规范中的错误产生条件。
如何使用这个例子:在这个例子中,我给出了一个画板,你可以从本地文件系统里拖拽进去一个图片,或者你也可以用文件选择框来选择图片。例子中,请只选择图片文件,我并没有添加文件过滤和文件类型检查。请记住,没有一个浏览器完全实现了HTML5,这个例子需要在支持HTML5的浏览器上运行,比如Firefox3.5以上。 

实现File API的主要方法非常的简单,就像下面

代码如下:

function imagesSelected(myFiles) {
for (var i = 0, f; f = myFiles[i]; i++) {
var imageReader = new FileReader();
imageReader.onload = (function(aFile) {
return function(e) {
var span = document.createElement(‘span‘);
span.innerHTML = ['img class="images" src="', e.target.result,'" title="', aFile.name, '"/'].join();
document.getElementById(‘thumbs’).insertBefore(span, null);
};
})(f);
imageReader.readAsDataURL(f);
}
}
function dropIt(e) {
imagesSelected(e.dataTransfer.files);
e.stopPropagation();
e.preventDefault();
}

我选择在td上放置我的ondrop事件:

代码如下:

td align=left height=105″ ondragenter=return false ondragover=return false ondrop=dropIt(event)
output id=thumbs/output
/td

这个例子中,我只是拖拽本地文件到画板里。然而我想它能向你表明File API的简单但强大的能力
展开更多 50%)
分享

猜你喜欢

HTML5 实现一个访问本地文件的实例

Web开发
HTML5 实现一个访问本地文件的实例

HTML5实现一个能够移动的小坦克示例代码

Web开发
HTML5实现一个能够移动的小坦克示例代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

HTML5 Canvas画线技巧——实现绘制一个像素宽的细线

Web开发
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线

HTML5上传文件显示进度的实现代码

Web开发
HTML5上传文件显示进度的实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

html5拖曳操作 HTML5实现网页元素的拖放操作

Web开发
html5拖曳操作 HTML5实现网页元素的拖放操作

利用HTML5画出一个坦克的形状具体实现代码

Web开发
利用HTML5画出一个坦克的形状具体实现代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Delphi模式编程之策略模式(上)

Delphi模式编程之策略模式(上)

html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式

html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
下拉加载更多内容 ↓