JavaScript 直接操作本地文件的实现代码

 更新时间:2009年12月01日 23:23:15   作者:  
Chrome、IE和Firefox都纷纷在新版中增强了JavaScript引擎的执行效率,随着JavaScript效率在各大浏览器的显著提高,JavaScript可以做越来越多的事,本地文件API的引入将让很多有趣的功能成为现实。
日前,Mozilla向W3C提交了一个草案,旨在推出一个JavaScript API,让JavaScript 脚本直接操作本地文件,Firefox的最新浏览器版本中已经对该API提供了大量的支持,不过出于安全考虑,该API将只对本地文件提供有限的访问。
该API引入了一个FileReader 对象,可以异步加载本地文件系统中的文件,并允许开发者为诸如加载失败,进度,加载完成等事件分配回调函数,它提供的方法可以从本地文件中读取文本或二进制数据,并通过一个 abort 方法随时打断操作。

  FileReader对象使客户端的文件访问成为现实,用户不必再象以前那样首先将文件上传到服务器才能处理,事实上,IE 和 Firefox 已经拥有一些非标准的方法访问本地文件,但这些方法并非标准 JavaScript 行为。

  FileReader对象并不需要特别的权限,但出于显然的安全考虑,直接使用文件路径进行访问是不允许的,必须结合常规的 HTML file 对象,用户点击浏览之后,选择本地文件,JavaScript 再通过 DOM 引用该文件并进行操作,这个机制使得该 API 相对安全一些,因为任何本地文件的获取都需要用户的人工参与。

  以下例子使用该 API 打开一个本地文件并将文件内容显示在一个 div 容器中,我们甚至可以在 div 上加上 contentEditable 属性,用户可以直接编辑文件的内容,不过,该 API 并没有提供将文件内容写回本地文件的方法,因此你编辑的内容无法保存。

尽管在JavaScript中增加API并非多么重大的技术革命,但它将拓展 Web 应用的视野,让 Web 平台实现越来越多的功能。

相关文章

  • FF和IE之间7个JavaScript的差异

    FF和IE之间7个JavaScript的差异

    尽管 JavaScript 历史上使用冗长而令人生厌的代码块来标的特定浏览器的时期已经结束了,但是偶尔使用一些简单的代码块和对象检测来确保一些代码在用户机器上正常工作依然是必要的。
    2009-05-05
  • 原生js实现查询天气小应用

    原生js实现查询天气小应用

    这篇文章主要为大家详细介绍了原生js实现查询天气的小应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • 微信小程序页面与组件之间信息传递与函数调用

    微信小程序页面与组件之间信息传递与函数调用

    不管是vue还是react中,都在强调组件思想,所以下面这篇文章主要给大家介绍了关于微信小程序页面与组件之间信息传递与函数调用的相关资料,需要的朋友可以参考下
    2021-05-05
  • 微信小程序页面返回传值的4种解决方案汇总

    微信小程序页面返回传值的4种解决方案汇总

    这篇文章主要给大家介绍了关于微信小程序页面返回传值的4种解决方案,小程序开发中经常会遇到这种场景,比如提交问题,然后需要返回之前页面,本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • 网站基于flash实现的Banner图切换效果代码

    网站基于flash实现的Banner图切换效果代码

    这篇文章主要介绍了网站基于flash实现的Banner图切换效果代码,是基于Flash与js实现的banner图片自动定时切换特效,并附有完整的示例源码,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • JavaScript生成验证码并实现验证功能

    JavaScript生成验证码并实现验证功能

    这篇文章主要介绍了JavaScript生成验证码并实现验证功能的相关资料,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 利用ASP发送和接收XML数据的处理方法与代码

    利用ASP发送和接收XML数据的处理方法与代码

    利用ASP发送和接收XML数据的处理方法与代码...
    2007-11-11
  • 简单了解JavaScript中常见的反模式

    简单了解JavaScript中常见的反模式

    这篇文章主要介绍了简单了解JavaScript中常见的反模式,反模式 是指对反复出现的设计问题的常见的无力而低效的设计模式,俗话说就是重蹈覆辙。 这篇文章描述了 JavaScript 中常见的一些反模式,以及避免它们的办法。,需要的朋友可以参考下
    2019-06-06
  • Canvas 制作动态进度加载水球详解及实例代码

    Canvas 制作动态进度加载水球详解及实例代码

    这篇文章主要介绍了Canvas 制作动态进度加载水球详解及实例代码的相关资料,这里附有实例代码及实现效果图,需要的朋友可以参考下
    2016-12-12
  • 巧用Javascript的逻辑运算符

    巧用Javascript的逻辑运算符

    本篇文章主要介绍了Javascript逻辑运算符"或"的巧用实例,希望对大家有所帮助,下面就随小编一起来看看吧
    2016-12-12

最新评论