Jeste li ikada bili frustrirani kad dođete na web mjesto, a postoje dokumenti, slike i drugi sadržaji koji su dostupni za preuzimanje i želite to učiniti, preuzmite to! Umjesto toga, kad kliknete na sadržajnu stavku, ona će se otvoriti u vašem pregledniku. Zagovarao sam s tim problemom tijekom projekta za medicinsku tvrtku i trebali su im PDF datoteke preuzeti i ne otvarati. Pa, postoji način da se otvori dijaloški okvir Spremi kao.

Za ovaj ćemo vodič pretpostaviti da su datoteke pohranjene lokalno na poslužitelju, a ne u bazi podataka. (To je posve drugačija rasprava)

Prvo, morate znati lokaciju datoteka. Pretpostavimo da se vaše datoteke nalaze na adresi //yourserver.com/files/filename.ext. Pretpostavit ćemo da je Server.MapPath "/ datoteke".

U ovom trenutku napravimo ASP datoteku koja će kontrolirati preuzimanje datoteke. Započnite stvaranjem novog, praznog dokumenta pomoću NotePada ili vašeg omiljenog HTML uređivača. Stavite sljedeći ASP kôd:

<%
'=======================
'Define the names of your functions
'=======================
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
'=======================
'Get the actual file name from the URL that is passed to the browser
'=======================
FileName = request.querystring("filename") 'Get the name from the URL
'=======================
'GIVE AN ERROR MESSAGE IF THE URL IS EMPTY
'=======================
if FileName = "" Then
response.write "Filename Not specified."
response.end
end if
'=======================
'prevent access to certain files
'=======================
FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
select case UCase(FileExt)
Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
response.write "You cannot access these file types."
response.end
end select
'=======================
'Start the download process if all is good
'=======================
response.clear
response.contentType = "application/octet-stream"
response.addheader "content-disposition", "attachment; filename=" & FileName
set stream = server.CreateObject("ADODB.Stream")
stream.type = adTypeBinary
stream.open
stream.LoadFromFile Server.MapPath("/files") & FileName
while not stream.EOS
response.BinaryWrite Stream.Read(1024 * 64)
wend
stream.Close
Set stream = Nothing
response.Flush
response.End
%>


To je za to. Sada spremite i prenesite ovu datoteku na svoj poslužitelj i dajte joj naziv fileownloader.asp

Recimo da je naziv datoteke na vašem poslužitelju familytree.pdf

Tada jednostavno unesete sljedeći URL u preglednik i pojavit će se dijaloški okvir File Save as Open.

//yourserver.com/filedownloader.asp?filename=familytree.pdf

To je to! Tada biste trebali vidjeti ovo:



Sretno i to možete poboljšati korištenjem baza podataka i drugih cool funkcija kako biste bili sigurni da će datoteke koje želite da korisnici dobiju moći preuzimati i ne otvarati u trenutnom web pregledniku koji im omogućuje da "ostanu" na vašoj web stranici ,

Upute Video: Clear cache and cookies in Google Chrome (Svibanj 2024).