HTML5 – 一个访问本地文件的例子

2017-10-17  本文已影响0人  王钰峰

摘要:本文将向大家分享一个简单的应用,用来演示使用FileReader的方法, FileReader是HTML5里提供的一个文件操作API。

在前面的几篇文章里,我向大家共享了几个HTML5的例子,分别是拖拽功能演示,页面内容可编辑化演示 和 本地存储功能演示。 今天,我将向大家分享一个简单的应用,用来演示使用FileReader的方法, FileReader是HTML5里提供的一个文件操作API。
  当你在看我前面所写的HTML 5例子时,我正在思考创建一个简单但又适用的例子、以一种更新奇的方式来演练这些HTML5新特性。我的目标并不是想单纯的展示这些HTML 5 API,而是想用例子来告诉开发人员如何真正的以一种实用的和创新的方式实现这些API。

在HTML5里,从Web网页上访问本地文件系统变的十分的简单,那就是使用File API。这个File规范说明里提供了一个API来表现Web应用里的文件对象,你可以通过编程来选择它们,访问它们的信息。这个File API包括:

如何使用这个例子:在这个例子中,我给出了一个画板,你可以从本地文件系统里拖拽进去一个图片,或者你也可以用文件选择框来选择图片。例子中,请只选择图片文件,我并没有添加文件过滤和文件类型检查。请记住,没有一个浏览器完全实现了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 = 
     ['![](', e.target.result,')'].join(”);
        document.getElementById(‘thumbs’).insertBefore(span, null);
      };
    })(f);
    imageReader.readAsDataURL(f);
  }
}

function dropIt(e){ 
   imagesSelected(e.dataTransfer.files);
   e.stopPropagation(); 
   e.preventDefault();  
}  

(web前端学习交流群:328058344 禁止闲聊,非喜勿进!)
我选择在<td>上放置我的ondrop事件:

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

** 你可以下载这个例子中所有HTML代码, 点击下载。  这个例子中,我只是拖拽本地文件到画板里。然而我想它能向你表明File API的简单但强大的能力

上一篇下一篇

猜你喜欢

热点阅读