ZK中使用JS讀取客戶端txt文件內(nèi)容問題
最近寫一個需求時遇到一個問題,用戶需要通過點擊一個按鈕直接讀取他自己電腦上D盤的一個txt文件內(nèi)容顯示到頁面,因為項目現(xiàn)在是用ZK寫的.我對于ZK也是剛剛了解不就,很多都還不是很熟.起初我是想用io流去讀取,然后寫完發(fā)現(xiàn),這樣每次讀取的都是服務(wù)器上的D盤下的txt文件,所以在網(wǎng)上找了很久.很多都是獲取服務(wù)器上的文件夾或者是上傳到服務(wù)器再讀取.直接通過文件地址讀取文件內(nèi)容很少.因為這樣很不安全.目前我也只找到了一種,但是只限于IE瀏覽器.
<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<window title="ZK中使用JS讀取客戶端txt文件內(nèi)容問題" border="normal">
<button label="點擊獲取txt內(nèi)容" 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
//讀取文件的內(nèi)容。
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瀏覽器可用.如果你發(fā)現(xiàn)IE瀏覽器也沒出來,那你可能是ActiveX插件相關(guān)功能沒開,需要在IE瀏覽器進行如下設(shè)置

然后就出來了,但是這樣網(wǎng)也就會提示 存在安全風險,沒辦法,這種操作本來就是不安全的行為.其他瀏覽器,目前我只知道必須用戶通過手動選擇文件后在讀取文件內(nèi)容,沒發(fā)現(xiàn)能通過文件路徑直接去讀取客戶端電腦上的文件.如果哪位大神知道,可以分享給我哦.
總結(jié)
以上所述是小編給大家介紹的ZK中使用JS讀取客戶端txt文件內(nèi)容問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
JavaScript獲取當前網(wǎng)頁最后修改時間的方法
這篇文章主要介紹了JavaScript獲取當前網(wǎng)頁最后修改時間的方法,涉及javascript中document.lastModified屬性的使用技巧,需要的朋友可以參考下2015-04-04
微信小程序?qū)崿F(xiàn)幸運大轉(zhuǎn)盤功能的示例代碼
這篇文章主要介紹了如何在微信小程序中實現(xiàn)幸運大轉(zhuǎn)盤功能,參與用戶點擊抽獎便可抽取輪盤的獎品,感興趣的小伙伴可以跟隨小編一起動手試一試2022-03-03
原生js實現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果
本文主要介紹了原生js實現(xiàn)網(wǎng)頁頂部自動下拉/收縮廣告效果的實例代碼。具有一定的參考價值,下面跟著小編一起來看下吧2017-01-01

