ZK中使用JS讀取客戶端txt文件內容問題

  最近寫一個需求時遇到一個問題,用戶須要經過點擊一個按鈕直接讀取他本身電腦上D盤的一個txt文件內容顯示到頁面,由於項目如今是用ZK寫的.我對於ZK也是剛剛瞭解不就,不少都還不是很熟.起初我是想用io流去讀取,而後寫完發現,這樣每次讀取的都是服務器上的D盤下的txt文件,因此在網上找了好久.不少都是獲取服務器上的文件夾或者是上傳到服務器再讀取.直接經過文件地址讀取文件內容不多.由於這樣很不安全.目前我也只找到了一種,可是隻限於IE瀏覽器.html

 

<?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瀏覽器進行以下設置安全

而後就出來了,可是這樣網也就會提示 存在安全風險,沒辦法,這種操做原本就是不安全的行爲.其餘瀏覽器,目前我只知道必須用戶經過手動選擇文件後在讀取文件內容,沒發現能經過文件路徑直接去讀取客戶端電腦上的文件.若是哪位大神知道,能夠分享給我哦.服務器

相關文章
相關標籤/搜索