iT邦幫忙

1

網頁上放置檔案下載連結 ,不要出現檔案的實際連結 ,如何實現?

各位好

這網頁需要登入後才能下載 , 且不呈現檔案網址,

網頁 www.abc.com/pdt001.html

網頁內的下載檔案連結 : a href=www.abc.com/pdt/001/download/>下載 /a>
(若沒登入直接執行會跳轉到登入畫面)
當點擊"下載" ,網頁不會跳轉,直接下載 .
檔案是 www.abc.com/pdt/download/pdt.pdf

網頁上放置檔案下載連結 不要出現檔案的實際連結 如何實現?
IIS ASP 環境

先謝謝各位!

0
watercool
iT邦新手 5 級 ‧ 2019-03-08 11:40:02

你應該是問前端吧?

放個按鈕加個window.open事件
像這樣
https://jsfiddle.net/4xr813up/

6
浩瀚星空
iT邦高手 1 級 ‧ 2019-03-08 11:45:10

一般有如下的處理方式

1.rw規則處理:寫幾個亂數的規則來指向正確的位置。不過是需要有編碼的知識跟轉向的知識能力。且其防護獲取實體位置是非常的低。功力好一點的人,很快就可以找到你的實體位置。也就是所謂的煙霧做法。一般這是給無後端語言的人使用。能用度比較低

2.後端轉頁式編碼寫法:採用base64的方式,利用後端解析位置後導向處理。這招還是可以獲得實體位置,除非後端是利用copy移轉temp的方式。也就是說雖然有其實體位置存在,但也只是暫時的。一般是應用在影片的處理居多。實用度還算中等。

3.後端記錄式讀取法:所上傳的東西是透過程式來處理的情況下,可以用這一招。再每一個上傳給於一個id或是數據遲結處理。上傳存放的位置可以放在web server碰不到的地方。這樣自然就無所謂實體連結的位置可言。
要下載時,利用後端語言的讀檔特性。將檔案讀取後轉發出來處理。

先說這三種方式,其實依照你的檔案性質。這些方式都有其一定的限制跟規範。並不是哪一種比較好用,哪一種不好用。只能看你的需求來決定。

webtest iT邦新手 5 級 ‧ 2019-03-08 14:52:17 檢舉

您好
網站環境是IIS & ASP
請問哪裡有文件教學或範例?
謝謝!

其實asp的部份我並不太熟。我只能給你原理跟觀念而已。
因為正確來說,後端也不過是幫你處理後送出html碼。

實際的下載還是瀏覽器獲得對應的連結運行的。

對了,從你下面的對話,這邊得先讓你了解一些。
網頁的連結是一定無法隱藏的。你能做的就是額外處理的方式。
也就是透過程式化的控制,讓外部的人員就算用此連結,也無法獲得檔案。

第二種方式去搭配temp的處理。其實會比較符合你要的方式。
我早期曾經有碰過並無會員制,但得用刷碼認証的方式處理的。
我用的就是將實際檔案重新改名到temp目錄裏提供下載。

因為你說的什麼教學還是什麼的。

一般來說,只要會以下處理
轉向、讀檔、拷貝。就大多都可以完成

其「純真的人」給你的,是最簡單也容易符合你的做法的方式。
利用登入機制來做處理。

webtest iT邦新手 5 級 ‧ 2019-03-08 17:19:46 檢舉

好的 非常感謝!

1
純真的人
iT邦高手 1 級 ‧ 2019-03-08 12:19:08

最簡單的方式,隱藏在後端

<a href=www.abc.com/pdt/001/download/download.asp?Files=pdt.pdf>下載 /a>
<%
Files = Request("Files")
'判斷是否登入
if Session("Login_AD") = "xxx" then
    '下載
    Response.redirect "../download/" & Files
else
    Response.redirect "提醒要登入的網址"
end
%>
webtest iT邦新手 5 級 ‧ 2019-03-08 15:00:39 檢舉

您好
我實作您的語法

  1. 如何讓網頁不跳轉 ? 用AJAX來處理嗎?
  2. 檔案連結會顯示 如何隱藏?

我瀏覽某一網案 , 點選"下載"後 , 在當下頁面完成自動下載到本機

謝謝!

1.就連結加上target="blank",另開新視窗,因為像PDF檔是顯示在網頁上的

<a href="www.abc.com/pdt/001/download/download.asp?Files=pdt.pdf" target="blank">下載</a>

但你如果是不顯示在網頁上的話就參數加上download="下載的檔案名稱"

<a href="www.abc.com/pdt/001/download/download.asp?Files=pdt.pdf" target="blank" download="下載的檔案名稱">下載 </a>

檔案連結是一定看到~
但會員沒有登入是會被導引到請先登入的頁面
所以會員直接分享連結也沒有用~

我要發表回答

立即登入回答