Случвало ли ви се е да се разочаровате, когато стигнете до уебсайт и има документи, изображения и друго съдържание, достъпно за изтегляне и искате да направите точно това, изтеглете го! Вместо това, когато щракнете върху елемент от съдържанието, той се отваря в браузъра ви. Бях против този проблем по време на проект за медицинска компания и те се нуждаеха от PDF файловете им, за да бъдат изтеглени и не отворени. Е, има начин да го накарате да отвори диалоговия прозорец Запиши като.

За този урок ще приемем, че файловете се съхраняват локално на сървъра, а не в база данни. (Това е съвсем различна дискусия)

Първо, трябва да знаете местоположението на вашите файлове. Нека приемем, че вашите файлове се намират на адрес //yourserver.com/files/filename.ext. Ще приемем, че Server.MapPath е "/ files".

В този момент нека създадем ASP файла, който ще контролира изтеглянето на файла. Започнете, като създадете нов, празен документ, използвайки NotePad или любимия си HTML редактор. Поставете следния 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
%>


Това е за този. Сега запазете и качете този файл на вашия сървър и го назовете на fileownloader.asp

Нека да кажем, че името на файла на вашия сървър е familytree.pdf

След това просто ще прекарате следния URL адрес в браузъра си и ще се появи диалоговият прозорец Файл Запазване като отворен.

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

Това е! След това трябва да видите това:



Успех и можете да подобрите това с помощта на бази данни и други готини функции, за да сте сигурни, че файловете, до които искате вашите потребители да имат достъп, имат възможност да бъдат изтегляни и да не се отварят в техния текущ уеб браузър, което им позволява да „останат“ на вашия уебсайт ,

Инструкции Видео: ✅ЕПИЗОД 93 на предаването ЕвроДикоФ (Април 2024).