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


Posted in Javascript onDecember 01, 2009

日前,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 直接操作本地文件的实现代码
尽管在JavaScript中增加API并非多么重大的技术革命,但它将拓展 Web 应用的视野,让 Web 平台实现越来越多的功能。

Javascript 相关文章推荐
用js查找法实现当前栏目的高亮显示的代码
Nov 24 Javascript
jquery随意添加移除html的实现代码
Jun 21 Javascript
js判断背景图片是否加载成功使用img的width实现
May 29 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
jquery 根据name名获取元素的value值
Feb 27 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
Jan 19 Javascript
js实现悬浮窗效果(支持拖动)
Mar 09 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
Apr 01 Javascript
AngularJS中使用ngModal模态框实例
May 27 Javascript
详谈js原型继承的一些问题
Sep 06 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
jQuery AJAX应用实例总结
May 19 jQuery
js 变量类型转换常用函数与代码[比较全]
Dec 01 #Javascript
Jquery 快速构建可拖曳的购物车DragDrop
Nov 30 #Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
Nov 30 #Javascript
Ruffy javascript 学习笔记
Nov 30 #Javascript
jquery 分页控件实现代码
Nov 30 #Javascript
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 #Javascript
Aptana调试javascript图解教程
Nov 30 #Javascript
You might like
用PHP实现登陆验证码(类似条行码状)
2006/10/09 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
flexigrid 参数说明
2010/11/23 Javascript
js中parseInt函数浅谈
2013/07/31 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
Python实现多属性排序的方法
2018/12/05 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
为什么python比较流行
2020/06/19 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
python爬取招聘要求等信息实例
2020/11/20 Python
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
股权投资意向书
2014/04/01 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
高考升学宴答谢词
2015/01/20 职场文书
检讨书范文500字
2015/01/28 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
python自动化测试之Selenium详解
2022/03/13 Python