JS竟然可以读取文件?#web前端

boyanx2周前技术教程8

这个视频来说一下js的文件读取。刚好有同学问到,首先要说一点,对文件进行读写、增删、改查一系列的操作是涉及到用户隐私安全的。用前端语言,比方JS是不可能完全做到的。要不然写一个网页,访问了就可以在本地电脑上面随便新增文件,或者把电脑里面的东西全部给干了或者改了,都是一件很恐怖的事情。

可以实现文件操作的语言,比方nodejs,一些后端语言,PHP、JAVA这些。这个时候要分清楚是操作哪里的文件,是客户端还是服务器端。如果要操作客户端的,都要获取相应的权限。比方手机端的应用都会向我们拿权限。很多时候不给文件访问的权限,比方图库,连相册访问都访问不了,不用增删、改查了,这些先不管它了。

JS的文件读取,简单的文件读取还是可以实现的。但是同样,这里要读取的是本地的文件,其实也需要用户给予权限。这里要怎么做?就需要配合一个input的控件,让用户自己来操作。这里提供了一个按钮,只有用户主动去选择了,这个行为是用户触发的。换言之就是得到了用户的允许才会对文件进行读取,不会JS自动触发、自动读取,那就不安全了。

来看一下具体怎么操作。要对input添加一个onchange事件,然后执行一个函数a1s,把事件对象传进去,然后来写这个函数。这里需要用到一个fileReader类,先把对象实例化出来。可以先把事件对象打印出来看一下。先把控制台打开,然后来选择文件。这里选择a.txt文件,事件对象打印出来了,展开来看一下。

里面有个target,target下面还有一个叫files,这一个下标为0的,files里面下标为0的,放的就是刚才选择的文件a.txt,所以就要读取用户选择的文件。这里是可以读取成好几种格式的,就把它读成文本。

·要读取什么?就是刚才给大家展开来看的target下面files的第0个,就是刚才选择的文件a.txt,这个文件里面就随便输入一句话,看一下等一下可不可以把它读取出来。这个过程是异步的,要先等它读取。

·这里面还是先把事件对象打出来看一下,同样是选择刚才那个文件,再展开来看一下,同样找到target,它里面有一个result,大家看到没有,result里面保存的就是读取的文件里面的内容,这样就可以读取到文件的内容了。

·比方这里直接把读取到的内容输出来,没有问题,这个内容获取到了。当然除了读这种txt的文本,读个json,甚至读个图片也可以,就来读个图片试一下。读图片这里就不是读成text,读成base64。

·这次就来选择一张图片,这里就把读取到的结果输出来了,可以复制一下,这个是base64,可以把刚才复制的那一串在地址栏里面回车,这张图片就出来了,是可以读取到这张图片的。

·可以用读取到的图片做一些预览图之类的,这个图片有点大,给它改小一点。JS获取到img,然后设置一下它的src,把result赋值给它。

·现在还没有预览图,可以手动来选择一张,这里随便选择一张图片,这个图片就读取到了,然后换一张图片也可以,另外再选择另外一张,都是可以正常读取的。

这个视频就简单给大家说了一下JS的文件读取,感谢大家的收看。

标签: video.js

相关文章

心疼刘教练!刘畊宏健身操遭抨击,特意晒叮嘱视频强调要循序渐进

近段时间,刘畊宏的健身操可谓是风靡全网,他的某视频平台也因为直播健身在短短的时间里,从几百万火速暴涨到4千多万,粉丝人数堪比一线不说,增长速度更是令人惊叹。而看过刘畊宏直播健身的网友有很多都自发变身为...

杜淳晒女儿跑步萌态,1岁小蛋饺步伐超稳,全身肉嘟嘟可爱爆棚

4月27日下午,杜淳在个人社交平台分享了一段女儿小蛋饺跑步的萌态,老父亲还感慨写道:“奔跑吧,我的小蛋饺,跑着跑着就长大了,我的小公主”。杜淳自从升级奶爸后,这“女儿奴”属性真是愈发明显了,每一次晒与...

通过 YAPI + Python Flask 实现接口自动化测试

背景公司目前主打两款陌生人社交产品,暖聊和 CP,两款产品都有 Android 和 iOS 端。暖聊涵盖了音视频匹配,交友大厅,聊天室,视频直播,广场,家族,IM 消息和任务中心八大模块,共计 841...

Odyssey.js,用交互地图+多媒体讲清碎片化时代的故事

时间轴是所有叙事方式都抽不掉的一根线,不管是小说、新闻、还是记录片,不管出现了多么丰富的媒介形态,如果地理维度—放在互联网时代来讲就是交互地图本身也能跟时间一样重要的话,即将文字、图片、视频多种媒介形...

很香的几款开源免费的流程设计器

1、LogicFlow(1) 介绍:LogicFlow 是一款流程图编辑框架,提供了一系列流程图交互、编辑所必需的功能和灵活的节点自定义、插件等拓展机制。LogicFlow支持前端研发自定义开发各种逻...

JavaScript概述,建议收藏

一、JavaScript概述1.学习JavaScript的原因a. 客户端表单验证在网站中常见的会员注册页面中,我们填写注册信息时,如果某项信息格式输入错误(如密码长度不够等),表单页面将及时给出错误...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。