台灣最大程式設計社群網站
線上人數
1150
 
會員總數:241729
討論主題:187047
歡迎您免費加入會員
討論區列表 >> ASP.NET >> window.open開啟本機檔案
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
window.open開啟本機檔案
價值 : 20 QP  點閱數:214 回應數:7

樓主

Jason
門外漢
0 31
634 124
發送站內信

我使用window.open想要網頁點按鈕時開新分頁並把檔案顯示於分頁中






但結果只有開新分頁,並未顯示內容,請問這該如何解決呢?

搜尋相關Tags的文章: [ html ] ,
本篇文章發表於2018-01-03 11:27
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

Jason
檢舉此回應
目前測試發現 Chrome無法顯示 但是IE可以
本篇文章回覆於2018-01-03 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

MIS2000 Lab
檢舉此回應
我猜:
您目前測試的環境,是在自己電腦上跑。
直接用"瀏覽器" 執行HTML檔來測試,對嗎?

有沒有考慮真正放在Web Server上再測試一次?
(我用IE 11測試,會出現「存取被拒」的警告。Chrome則無法呈現結果)

您可能要先釐清一些觀念
Web Server與 Client端(瀏覽器)之間的差異
您這一句話 file:///C:/Users/User/Desktop/123.txt
其實是要抓Web Server上面硬碟的某個檔案

如果您把 123.txt這個檔案,放在您的 Web Server(網站目錄)底下
應該就能讀取得到
本篇文章回覆於2018-01-03 12:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
這邊要先讓你了解一下,依照本機安全性原則。
一些javascript的語法並不被允許直接讀取本機檔案。
會需要一些授權或是特別的處理方式才行。
當然了,某些比較舊版的瀏覽器還比較沒這樣的限制。
大多數可以在瀏覽器中的設定找看看是否有這樣的授權。
有些預設是開的,有些預設是關的。就我所知道的是。Chrome預設是不允許的。
ie的話的確有可能預設是允許的。

回 MIS2000 Lab 一些誤會
其實只要用 file:///所宣告的。都是代表要依本機性(客戶端主機)為原則的一個指向了。
如果再搭配c:這種卷冊式的寫法。更可以確定代表是要獲取本機的檔案。
所以你說其實是要抓web server上的檔案是一定不對的。
就算web server就是在本機上也不能用這樣的說法。
本篇文章回覆於2018-01-03 14:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
安全性的關係,不允許直接開本機的檔案

要解開這問題,還是回到『需求』本身
您希望開啟本機的檔案,他的『目的』是什麼?

如果,改由Client端『上傳』到Server端,再由Server端開啟
這樣的方式可以接受嗎?

或者,這是一個固定的過程
那麼,撰寫一支Windows的程式,由Windows的排程啟動Client端的Windows程式
透過安裝在使用者的Windows程式,將資料讀取,並透過API維護到Server端
這樣又是否可接受

一切,還是要請樓主,直接講清楚『需求』是什麼,希望達到什麼樣的『目的、效果』
這樣,大家才能幫您,想出一個可行又符合需求的解決方案

^_^
本篇文章回覆於2018-01-03 14:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

MIS2000 Lab
檢舉此回應
是的,
浩瀚星空 說:「就算web server就是在本機上也不能用這樣的說法。」

剛剛我在Visual Studio裡面測試
http://localhost/xxx.htm 或是 http://localhost/xxx.aspx

IE也會提出警告喔,好像說「這是有限制的指令」

謝謝您
本篇文章回覆於2018-01-03 16:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Jason
檢舉此回應
謝謝各位大大的回覆
原來單純的開檔案匯有這麼多問題
本篇文章回覆於2018-01-04 08:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Sdany
捐贈 VP 給 Sdany 檢舉此回應
另一個做法
透過使用者手選可以讀到檔案

用 input[type="file"] 選擇檔案
new FileReader(); 讀取檔案
再用 Base64.decode

就可以再網頁上顯示檔案的內容
本篇文章回覆於2018-01-11 11:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.