在浏览器的控制台中读取本机文件
最近有这么一个需求:通过js代码直接读取到本机文件(项目部署并运行在浏览器端),这里所说的直接读取不同于input标签点击之后选择文件然后通过FileReader读取到里面的内容。而是已知本机的本地路径直接读取,也就是跳过用户主动选择文件这一个步骤。查了一些资料说,谷歌浏览器出于安全性考虑,不支持直接读取,只能通过标签选择文件然后再读取。但是IE浏览器好像支持。具体如下:
代码实现
进入IE浏览器,F12打开控制台,依次输入以下代码即可读取到本地文件(这里以D盘下的txt文件为例)
var fso = new ActiveXObject("Scripting.FileSystemObject");
注意,在输入以上代码如果发现控制台报错,报错信息为…对象未被定义,解决方法如下:js使用ActiveXObject报错问题
var ts = fso.OpenTextFile("d:\\aaa.txt", 1);
s = ts.ReadLine();