Cette page ASP force un téléchargement binaire du fichier mis en paramètre.
Un popup de confirmation apparait à l'utilisateur pour lui demander s'il veux ouvrir ou sauvegarder le fichier.
Dans l'exemple présent dans le source, j'ai nommé cette page dwdFile.asp; il suffira de corrigé l'appel selon le nom de votre fichier.
Source / Exemple :
<%
' 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
%>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.