:
<% Fonction DownloadFile (Strfile)
StrFilename = strfile
Réponse.buffer = true
Réponse.
Set s = server.createObject (adodb.stream)
Open
S.Type = 1
sur l'erreur reprendre ensuite
Set fso = server.createObject (scripting.fileSystemObject)
Sinon FSO.FileExists (strFilename) alors
From_url = cstr (request.servervariables (http_referer)))
Serv_Url = CSTR (request.servervariables (server_name))
Si mid (from_url, 8, Len (serv_url)) <> serv_url alors
Réponse.WRITE 该文件不存在或者已经删除.
Réponse.
Terminer si
Réponse.redirect request.servervariables (http_referer)
Réponse.
Terminer si
FileExt = mid (strFilename, instrrrev (strFilename,.) + 1)
Sélectionnez Case UCase (FileExt)
Case ASP, ASA, ASPX, ASAX, MDB, PHP, JSP, SHTML, HTML, HTM, TV, DONNÉES
From_url = cstr (request.servervariables (http_referer)))
Serv_Url = CSTR (request.servervariables (server_name))
Si mid (from_url, 8, Len (serv_url)) <> serv_url alors
Réponse.WRITE 该文件不存在或者已经删除.
Réponse.
Terminer si
Réponse.redirect request.servervariables (http_referer)
Réponse.
Fin de sélection
Set f = fso.getfile (strFilename)
IntFileLength = F.Size
S.LoadFromfile (strFilename)
Si err alors
From_url = cstr (request.servervariables (http_referer)))
Serv_Url = CSTR (request.servervariables (server_name))
Si mid (from_url, 8, Len (serv_url)) <> serv_url alors
Réponse.WRITE 该文件数据不完整或许已损坏.
Réponse.
Terminer si
Réponse.redirect request.servervariables (http_referer)
Réponse.
Terminer si
Set upload = server.createObject (persits.upload)
Si le téléchargement n'est rien alors
Response.Addheader Content-Disposition, attachement; Filename = & f.name
Response.Addheader Content-Length, intFileLength
Réponse.Charset = UTF-8
Response.ContentType = Application / X-Download
Réponse.binarywrite s.read
Réponse.flush
S.Close
Définir S = rien
Autre
Upload.sendbinary strFilename, true, application / x-download, false
Terminer si
Fonction finale
%>
调用
<% Call DownloadFile (下载地址)%>