ZK中使用JS读取客户端txt文件内容问题
最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流去读取,然后写完发现,这样每次读取的都是服务器上的D盘下的txt文件,所以在网上找了很久.很多都是获取服务器上的文件夹或者是上传到服务器再读取.直接通过文件地址读取文件内容很少.因为这样很不安全.目前我也只找到了一种,但是只限于IE浏览器.
<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<window title="ZK中使用JS读取客户端txt文件内容问题" border="normal">
<button label="点击获取txt内容" id="butt"/>
   
   <label id="filePath" value="D:\\test.txt" style="display:none"/>
   
   <separator/> 
   
   <label id="info" style="color:red"/>
   
   <script><![CDATA[ 
     zk.afterMount(function(){
        jq("$butt").click(function(){            
           try{     
                var fs =new ActiveXObject("Scripting.FileSystemObject");     
          }catch(e){  
               alert("浏览器不兼容,安全级别太高,无法读取,请使用IE浏览器打开!");                 
          }     
               var ts,s;    
             var str = ""; 
              var ForReading = 1; 
               //文件路径,这里是写死在label
               var path = jq("$filePath").text();//这里用 .val()获取不到值,毕竟不是jsp
            //读取文件的内容。       
            ts = fs.OpenTextFile(path,ForReading,true);     
           while(!ts.AtEndOfStream){   
               s  = ts.ReadLine();  
               str+=s;  
           }   
           ts.Close(); 
            jq("$info").text(str);   
         });
     });
   ]]></script>
   
</window>
</zk>


因为ActiveX是IE流量器的插件,所以这个只能在IE浏览器可用.如果你发现IE浏览器也没出来,那你可能是ActiveX插件相关功能没开,需要在IE浏览器进行如下设置

然后就出来了,但是这样网也就会提示 存在安全风险,没办法,这种操作本来就是不安全的行为.其他浏览器,目前我只知道必须用户通过手动选择文件后在读取文件内容,没发现能通过文件路径直接去读取客户端电脑上的文件.如果哪位大神知道,可以分享给我哦.
ZK中使用JS读取客户端txt文件内容问题的更多相关文章
- Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
		
2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...
 - 字节流,读取 a.txt 文件内容,并打印出来
		
import java.io.FileInputStream;import java.io.IOException; /** 字节流,读取 a.txt 文件内容,并打印出来 */public clas ...
 - 编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
		
package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...
 - 2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt
		
package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...
 - js读取本地txt文件中的json数据
		
list.txt内容 [ {"optionKey":"1", "optionValue":"Canon in D"}, ...
 - php读取外部txt文件内容并打印在页面|fopen()函数
		
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
 - iOS案例:读取指定txt文件,并把文件中的内容输出出来
		
用到的是NSString中的initWithContentsOfFile: encoding方法 // // main.m // 读取指定文件并输出内容 // // Created by Apple ...
 - JS读取/创建本地文件及目录文件夹的方法
		
原文链接:http://www.cnblogs.com/ayan/archive/2013/04/22/3036072.html 注:以下操作只在IE下有效! Javascript是网页制作中离不开的 ...
 - Java 读取 txt 文件内容到容器 List
		
方法一: 一.桌面上准备 DataObject.txt 文件,内容为: 二.打开 Eclipse,编写代码如下: import java.io.BufferedReader; import java. ...
 
随机推荐
- git切换分支冲突解决-删除分支
			
在项目开发中,有多个版本分支需要不时的来回切换,在切换的过程中,产生了很多冲突,提交的时候 也提交不了.总结下在解决这个过程中使用的两种方法: 1.删除项目在磁盘的目录,包括 git 文件,重新 cl ...
 - odoo开发笔记--ValueError Expected singleton
			
异常处理参考:https://stackoverflow.com/questions/31070640/valueerror-expected-singleton-odoo8 报错: ValueErr ...
 - HTTP协议复习
			
HTTP请求/响应的步骤: 客户端连接到WEB服务器:浏览器与web服务器的HTTP端口建立一个TCP套接字连接,例如:http://www.baidu.com 发送HTTP请求:通过TCP套接字,客 ...
 - 密钥密码体系CA,CSC,CV
			
密钥密码体系CA,CD,CSC,CV 片内操作系统 (cos) 密码学(Cryptography) 非接触式智能卡Contactless Smart Card, CSC 密钥名词 名词 英文说明 中文 ...
 - html5+springboot+websocket的简单实现
			
环境 window7,IntelliJ IDEA 2019.2 x64 背景:利用IntelliJ来搭建springboot框架,之后来实现websocket的功能.websocket只是实现了画面上 ...
 - 第1/7Beta冲刺
			
1.团队成员 成员姓名 成员学号 秦裕航 201731062432(组长) 刘东 201731062227 张旭 201731062129 王伟 201731062214 2.SCRU部分 2.1各成 ...
 - 如何配置STP
			
一.搭建本次实验的拓扑结构 两台s5700交换机模拟核心交换,两台s3700交换机模拟接入交换机,核心上配置eth-trunk 二.开启所有交换机的stp功能 开启stp [S1]stp enab ...
 - [转帖]龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖
			
龙芯3A/3B3000通用处理器出货超30万 获得“中国芯”大奖 http://www.eetop.cn/cpu_soc/6946247.html 2019.10 的新闻 出后量 30万 我们贡献了 ...
 - 1.jvm思维导图
			
点击图片可查看高清图
 - centos将nginx服务设置为开机自动启动
			
centos将nginx服务设置为开机自动启动 1.在/etc/init.d下创建文件nginx 发现原来就有并且配置就是默认的,而且是正确的 命令为: vim /etc/init.d/nginx 需 ...