Už jste někdy byli frustrovaní, když se dostanete na web a jsou k dispozici dokumenty, obrázky a další obsah ke stažení a chcete to udělat, stáhněte si to! Místo toho se po kliknutí na položku obsahu otevře v prohlížeči. Byl jsem proti tomuto problému během projektu pro lékařskou společnost a oni potřebovali, aby jejich soubory PDF byly staženy a neotevřeny. Existuje způsob, jak otevřít dialogové okno Uložit jako.

V tomto tutoriálu předpokládáme, že soubory jsou uloženy lokálně na serveru a nikoli v databázi. (To je úplně jiná diskuse)

Nejprve musíte znát umístění svých souborů. Předpokládejme tedy, že vaše soubory jsou umístěny na //yourserver.com/files/filename.ext. Budeme předpokládat, že Server.MapPath je "/ files".

Nyní tedy vytvořme soubor ASP, který bude řídit stahování souboru. Začněte vytvořením nového, prázdného dokumentu pomocí programu NotePad nebo vašeho oblíbeného editoru HTML. Umístěte následující kód ASP:

<%
'=======================
'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 ono. Nyní uložte a nahrajte tento soubor na svůj server a pojmenujte ho filedownloader.asp

Nyní řekněme, že název souboru na vašem serveru je famytree.pdf

Pak ve svém prohlížeči jednoduše předáte následující URL a objeví se dialogové okno File Save as Open.

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

To je vše! Pak byste měli vidět toto:



Hodně štěstí a můžete to vylepšit pomocí databází a dalších skvělých funkcí, abyste se ujistili, že soubory, ke kterým mají uživatelé přístup, mají možnost stahovat a neotevírat se v jejich aktuálním webovém prohlížeči, což jim umožňuje "zůstat" na vašem webu .

Video Návody: 2000+ Common Swedish Nouns with Pronunciation · Vocabulary Words · Svenska Ord #1 (Smět 2024).