1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <%
' Utilisation dans la pages
' appel direct : /dwdFile.asp?DwdFile=chemin/du/fichier/fichier.ext
' lien hypertexte : <a href="dwdFile.asp?DwdFile=chemin/du/fichier/fichier.ext" target="_self">
Dim sFilePath, sFileName, sFileUrl, iPosStart
sFileUrl = Request("DwdFile")
iPosStart = InStrRev(sFileUrl, "/")
sFileName = Right(sFileUrl, len(sFileUrl)-iPosStart)
'Lecture du fichier
Dim fso, oStream, sFileStream
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(Server.MapPath(sFileUrl)) Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.LoadFromFile Server.MapPath(sFileUrl)
sFileStream = oStream.ReadText
oStream.Close
Set oStream = Nothing
else
response.write "The file, named <i>"& sFileName &"</i>, doesn't exits!"
response.end
end if
Set fso = Nothing
' Préparation des entêtes HTTP pour l'envoi de fichier
Response.AddHeader "Content-Type", "application/octetstream"
Response.AddHeader "Content-Disposition", "attachment; filename="""& sFileName &""""
Response.AddHeader "Cache-Control", "must-revalidate, post-check=0, pre-check=0"
Response.AddHeader "Pragma", "no-cache"
Response.AddHeader "Expires", 0
'Transfer du fichier en flux binaire
Response.BinaryWrite sFileStream
%> |
Partager