Utilitaire pour forcer le téléchargement d'un fichier sur un client web

Description

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
%>

Codes Sources

A voir également

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.