`
wjlgryx
  • 浏览: 306927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML 5 File API应用实例(访问本地)

阅读更多
关于HTML 5,51CTO已陆续报道了几篇关于HTML 5应用技巧方面的文章,比如《探秘HTML 5链接预取功能》、《HTML 5 Web Sockets应用初探》等等,下面我们将介绍一个简单的应用,该应用主要使用了HTML 5中的FileReader方法,FileReader就是HTML 5所提供的File API。

51CTO推荐专题: HTML 5  下一代Web开发标准详解

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

◆一个FileList序列,代表着由本地系统里选中的单个的文件组成的数组。用来选择文件的用户接口可以通过<input type=”file”>调用实现。

◆一个Blob接口,它代表原始二进制数据,通过Blob对象你可以访问里面的字节数据。

◆一个File接口,它里面存有文件的只读属性信息,像文件名,文件类型,文件数据访问的地址。

◆一个FileReader接口,它提供了读取一个文件的方法,和一个获取文件读取结果的事件模型。

◆一个FileError接口和一个FileException对象,它们用来定义这个规范中的错误产生条件。

如何使用这个例子:在这个例子中,给出了一个画板,你可以从本地文件系统里拖拽进去一个图片,或者你也可以用文件选择框来选择图片。例子中,请只选择图片文件,请注意,该例子中并没有添加文件过滤和文件类型检查。请记住,没有一个浏览器完全实现了HTML 5,这个例子需要在支持HTML 5的浏览器上运行,比如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>
这个例子只是演示了拖拽本地文件到画板里,主要是想展示出HTML 5 File API简单但又强大的能力。

代码下载:https://www.ibm.com/developerworks/mydeveloperworks/files/app?lang=en#/person/270000CN12/file/c12b834e-5ec2-457d-80fa-97df433938d7

点击下载demo
分享到:
评论

相关推荐

    练习html5的file API,关于客户端进行文件读取的方式,特别练习关于读取图片的readAsDataURL方式.zip

    在这个“HTML5-FileAPI-master”项目的实践中,你可以通过实际操作来深入理解File API的工作原理,包括如何读取图片文件,以及如何将数据URL应用到实际的网页展示中。这将有助于提升你在HTML5网页多媒体处理方面的...

    html应用实例

    在这个"html应用实例"中,我们将深入探讨HTML5如何用于创建能够访问指定URL、本地文件系统以及SD卡的应用。 首先,HTML5引入了`&lt;a&gt;`标签的新属性,如`download`,允许用户在点击链接时下载指定的资源,而不是在...

    API接口调用(PHP)

    API(Application Programming Interface,应用程序接口)是一种接口,应用程序通过这个接口,可以访问另外一个程序或者数据库的数据,实现软件组件之间的交互。PHP作为一种广泛使用的服务器端脚本语言,经常被用来...

    file上传实例

    通过这个实例,开发者可以了解到如何使用HTML5的File API和Ajax技术实现一个简单的文件上传功能,并为后续的复杂上传需求打下基础。在实际项目中,我们还需要考虑更多因素,如安全性、性能优化以及用户体验提升,以...

    webview支持html5视频播放实例.zip

    本实例“webview支持html5视频播放实例.zip”主要探讨了如何在WebView中支持HTML5视频播放的功能,这对于创建交互式、多媒体丰富的应用来说是至关重要的。 HTML5视频是现代网页开发中的一个核心特性,它使得开发者...

    【JavaScript源代码】html5以及jQuery实现本地图片上传前的预览代码实例讲解.docx

    在本文档中,我们将深入探讨如何使用HTML5和jQuery实现在本地图片上传前的预览功能。这是一个常见的前端开发需求,允许用户在提交文件到服务器之前先查看选定的图片,提高用户体验。 首先,HTML5引入了新的文件API...

    javascript 读取本地文件

    在现代Web开发中,实现JavaScript读取本地文件的功能主要是通过HTML5的`File API`。这个API提供了一系列的接口,允许Web应用访问用户的本地文件系统,而无需借助服务器端处理或插件。 #### File API的核心概念 - *...

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

    本文将深入探讨如何使用HTML5的File API,特别是FileReader接口,来实现一个访问本地文件的实例。 FileReader是HTML5 File API的核心部分,它提供了异步读取文件数据的能力。通过FileReader,我们可以读取文件的...

    HTML5结合zyfile.js插件实现的多文件图片预览上传功能特效源码.zip

    File API是HTML5的重要组成部分,允许JavaScript直接访问和操作本地文件。通过FileReader对象,我们可以读取文件内容并显示在网页上。在图片预览功能中,File API的readAsDataURL方法将文件内容转换为data URL,这...

    HTML5 Canvas 游戏开发实例详解

    - **Chrome**:启动 Chrome 时添加 `--allow-file-access-from-files` 参数来允许访问本地文件。 通过以上步骤,可以有效地解决本地开发时的安全错误问题。 总之,通过 HTML5 Canvas 和 CasualJS,开发者可以创建...

    读取excel测试HTML_javascript实例_HTML读取Excel_

    “读取excel测试HTML.html”这个文件很可能是包含JavaScript代码的HTML页面,演示了如何使用File API选择Excel文件,然后可能通过Ajax或Fetch发送文件到后端,后端解析后返回数据,前端再展示出来。 10. 安全性和...

    PhoneGap实例

    3. **文件系统访问**:通过`file` API,开发者可以读写本地文件,创建文件夹结构,这对于存储用户数据或者离线内容非常有用。在实例中,可能会有文件操作的示例。 4. **通知与对话框**:PhoneGap提供了`通知`API,...

    安卓HTML5文件管理器案例

    【安卓HTML5文件管理器案例】是一个将HTML5技术应用在安卓平台上的创新实践,它允许用户通过网页浏览器来操作和管理设备上的本地文件。HTML5作为一种强大的网页开发标准,其离线存储、拖放功能、媒体元素以及文件API...

    Html5本地媒体文件播放器(Chrome版)

    在HTML5中,可以通过file API来访问和处理用户选择的本地文件,但这些操作都在用户的计算机上完成,不会触及服务器,除非用户明确授权。 对于Chrome浏览器的兼容性,HTML5的媒体元素在现代浏览器中通常表现良好,但...

    html5 FireFile

    5. 数据存储与本地化:考虑到用户可能希望保存他们的声音设置,开发者可能使用HTML5的Web Storage(localStorage或sessionStorage)来存储用户的偏好,如音量大小或是否开启特定声音效果。 6. 响应式设计:为了确保...

    HTML5图片分类利器演示页面

    同时,HTML5的离线存储能力(如localStorage和IndexedDB)使得图片分类信息可以本地缓存,即使在离线状态下也能访问已分类的图片,提高了应用的可用性。 最后,HTML5的拖放(Drag and Drop) API让图片分类变得更加...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 587 第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    19.3 log4j使用实例 572 19.4 ndc和mdc 585 19.5 小结 587 第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 ...

    cropbox图片剪裁(基于html5)

    总结,cropbox图片剪裁插件是HTML5技术在图像处理领域的一个成功应用实例,它充分利用了HTML5的Canvas和File API,提供了便捷的图片剪裁功能。对于需要在浏览器端处理图片的开发者来说,cropbox是一个值得尝试的工具...

Global site tag (gtag.js) - Google Analytics