是否可以通過html在本地驅動器上打開文件?我嘗試的方法如下: <a href='filename.ext'>link</a>
對於與腳本位於同一地圖中的文件。這可以工作,但它僅下載文件(我使用mdb文件,因此它不會在網頁瀏覽器中打開,如圖片)。通過鏈接打開文件
當我鏈接到即<a href='file://c:\file.ext'>link</a>
或只是沒有文件://沒有任何反應。是否可以正確鏈接到文件打開它們,而不是隻下載它們?
在此先感謝!
是否可以通過html在本地驅動器上打開文件?我嘗試的方法如下: <a href='filename.ext'>link</a>
對於與腳本位於同一地圖中的文件。這可以工作,但它僅下載文件(我使用mdb文件,因此它不會在網頁瀏覽器中打開,如圖片)。通過鏈接打開文件
當我鏈接到即<a href='file://c:\file.ext'>link</a>
或只是沒有文件://沒有任何反應。是否可以正確鏈接到文件打開它們,而不是隻下載它們?
在此先感謝!
編號'打開'與'下載'有關的是由服務器返回的Content-Disposition
HTTP標頭。當您打開本地文件時,它不是來自Web服務器,因此您無法更改標頭/它們不存在。
如果推薦的HTML文檔位於本地驅動器上,相對URL將引用本地文件,例如, <a href='filename.ext'>link</a>
將引用同一文件夾中的文件。然而,瀏覽器會得到指定媒體類型(例如text/html或image/gif)的HTTP標題,因此他們需要應用一些啓發式方法來猜測如何處理它,或者在系統中應用綁定,或者只是提供一個「另存爲」對話框(瀏覽器在不知道或猜測媒體類型的情況下可以做的唯一一件事)。
但是,通常情況下,只要您使用常見的文件名後綴(如.html或.gif),就會起作用。
如果引用文檔位於服務器上,則情況會有所不同,但您理論上可以使用file:scheme引用本地文件,但其效果完全取決於系統。示例<a href='file://c:\file.ext'>link</a>
在語法上格式錯誤(儘管某些瀏覽器可能會接受它),因爲URL中不允許使用反斜槓「\」。使用<a href='file://c:/file.ext'>link</a>
原則上可以工作,並且它在Web早期工作,以防用戶的系統碰巧有一個可以用路徑名c:/file.ext訪問的文件(可能映射到c:\ file。由系統分機)。
但瀏覽器通常停止支持file:scheme,這大概是出於假定的安全原因。當使用file:URL時,當然沒有信息直接發送到任何服務器,但是人們認爲這可能是間接的安全威脅。此外,從一開始,文件:URL的用處非常有限。 (有時在本地網絡中使用它們鏈接到不作爲HTTP服務器的本地網絡服務器上的文件。)
如果它位於您的計算機上,則有可能。
您需要做的是註冊一個帶有您想要打開的文件擴展名的協議。 在你的情況下,.mdb將是MS Access數據庫文件。
如果你想點擊瀏覽器中的一個鏈接,打開MS Access中的文件,那麼你必須做到以下幾點:
<a href="your_protocol://c:\path\to\file.mdb">Open File</a>
然後,你必須註冊與您的電腦「your_protocol」協議。
REGEDIT4
[HKEY_CLASSES_ROOT\your_protocol]
@="URL:your_protocol Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\your_protocol\shell]
[HKEY_CLASSES_ROOT\your_protocol\shell\open]
[HKEY_CLASSES_ROOT\your_protocol\shell\open\command]
@="\"C:\\Program Files\\Application\\program.exe\" \"%1\""
用您選擇的任意名稱替換「your_protocol」,編輯註冊表並鏈接您的文件,如示例中所示。
不可能,除非鏈接文件放置在本地磁盤上。如果你想從用戶那裏請求一個文件,爲了表單提交,使用''。 – 2012-01-18 11:08:05
如果是這樣,它會讓我訪問您本地驅動器上的大量信息,您不希望我看到,所以「不,這不是」 – 2012-01-18 11:08:47
這是可能的,但有限制。 – 2012-01-18 13:00:10