Oletko koskaan turhautunut, kun pääset verkkosivustolle ja siellä on ladattavia asiakirjoja, kuvia ja muuta sisältöä ja haluat tehdä juuri sen, lataa se! Sen sijaan, kun napsautat sisältökohdetta, se aukeaa selaimessa. Olin vastustanut tätä asiaa lääkintäyritystä koskevan projektin aikana ja he tarvitsivat PDF-tiedostojensa lataamisen eikä avaamisen. No, on tapa saada se avaamaan Tallenna nimellä -valintaikkuna.

Tätä opastusta varten oletamme, että tiedostot on tallennettu paikallisesti palvelimelle eikä tietokantaan. (Se on aivan erilainen keskustelu)

Ensin sinun on tiedettävä tiedostojesi sijainti. Oletetaan siis, että tiedostosi sijaitsevat osoitteessa //yourerver.com/files/filename.ext. Oletetaan, että Server.MapPath on "/ tiedostot".

Joten tässä vaiheessa luodaan ASP-tiedosto, joka ohjaa tiedoston lataamista. Aloita luomalla uusi tyhjä asiakirja NotePadilla tai suosikki HTML-editorilla. Sijoita seuraava ASP-koodi:

<%
'=======================
'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
%>


Se on se, että yksi. Tallenna ja lähetä tämä tiedosto palvelimellesi ja nimeä se filedownloader.asp

Oletetaan nyt, että palvelimesi tiedostonimi on familytree.pdf

Sitten siirrät vain seuraavan URL-osoitteen selaimessa ja File Save as Open -valintaikkuna avautuu.

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

Se on siinä! Sinun pitäisi sitten nähdä tämä:



Onnea ja voit parantaa tätä käyttämällä tietokantoja ja muita hienoja toimintoja varmistaaksesi, että tiedostoille, joihin haluat käyttäjien pääsyä, annetaan mahdollisuus ladata ja avata niitä nykyisessä selaimessa, jolloin käyttäjät voivat "pysyä" verkkosivustollasi. .

Video-Ohjeita: Elite: Dangerous Deep Space ship repair using AFM (Saattaa 2024).