客户端JavaScript 是不是有权限读取用户硬盘上的本地文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端JavaScript 是不是有权限读取用户硬盘上的本地文件相关的知识,希望对你有一定的参考价值。
需要注意,权限问题,是由JavaScript解释器的宿主程序决定的,也就是浏览器解释器的权限,因此,你在服务端无法确定指定位置文件的权限。通常,js是通过LocalStorage和cookie来记录本地设置。第一步:Var fso=new ActiveXObject(Scripting.FileSystemObject);创建一个可以将文件翻译成文件流的对象。
第二步:用于创建一个textStream 对象括号里边有三个属性4. 文件的绝对路径5. 文件的常数 只读=1,只写=2 ,追加=8 等权限。(ForReading 、ForWriting 或 ForAppending 。);6. 一个布尔值 允许新建则为true 相反为false;例:Var f=fso.opentextfile(“C://a.txt”,1,true);
第三步:调用读取方法1. Read(用于读取文件中指定数量的字符)2. ReadLine(读取一整行,但不包括换行符)3. ReadAll(则读取文本文件的整个内容);判断是否读取到最后一行while (!f.AtEndOfStream)f.Readline();
第四步:关闭textStream 对象:例:f.close(); 参考技术A Js是具备读取文件的功能的,具体代码
function startRequest()
createXMLHttpRequest();//这个方法你自己写 里面就是创建XMLHttpRequest对象的 复制粘贴就行
xmlHttp.onreadystatechange=handleStateChange;这个handleStateChange是声明的回调函数
xmlHttp.open("GET","你的文件加路径.xml",true);
xmlHttp.send(null);
function handleStateChange() //这个是刚才声明的回调函数
if(xmlHttp.readyState==4)
if(xmlHttp.status==200)
//这里已经获得你的xml文件了 用xmlHttp.responseText 来获取
参考技术B 取决于这些js代码运行的环境(即宿主)。
1,IE浏览器里面可以通过ActiveX操作文件,本人实际操作过。
2,其他浏览器暂时不可以。但是Chrome有个扩展能使chrome支持ActiveX,理论上安装这个扩展后就可以调用了,没试过。chrome还有个扩展可以看本机电脑上的图片,效果很炫,名字忘了,不知道它是怎么实现的。
3,写在服务器里面的(nodejs)就可以。
以上是关于客户端JavaScript 是不是有权限读取用户硬盘上的本地文件的主要内容,如果未能解决你的问题,请参考以下文章
用户权限及关系,新建立文件夹默认有两个硬链接原因(前期的-思维导图)
linux文件属性文件类型linux用户和权限软链接和硬链接