Forum de discussion
Forum « Programmation Javascript » (archives)
Re: enregistrer un fichier via un lien
Envoyé: 9 juillet 2002, 9h41 par Oznog
Voilà un code qui force le téléchargement. Il ne force pas seulement l'entête HTTP mais aussi il utilise le FSO (file system object) pour forcer le téléchargement. La seule complication est de trouver le bon type MIME puisque tu dois l'indiquer.
1. Note qu'il ne fonctionne seulement après un lien et non pas directement...
Premier fichier "download1.asp":
<a href="download.asp?f=image.gif">Télécharger "image.gif"</a>
2. Le fichier "download.asp"
<%
Response.Buffer = True
Dim strFichier, strChemin, PoidsFichier, fso, f, oStream
Const adTypeBinary = 1
strFichier = Request.QueryString("f")
strChemin = server.mappath("images/"&strFichier)
set fso = Createobject("Scripting.FileSystemObject")
set f = fso.getfile(strChemin)
PoidsFichier = f.size
set f = nothing
set fso = nothing
Response.Clear
Set oStream = Server.CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = adTypeBinary
oStream.LoadFromFile strChemin
strType = "image/jpeg" ' A ajuster selon le type MIME du document à télécharger
' C'est ici l'entête HTTP "attachment" pour le téléchargement
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFichier
Response.AddHeader "Content-Length", PoidsFichier
Response.Charset = "UTF-8"
Response.ContentType = strType
Response.BinaryWrite oStream.Read
Response.Flush
oStream.Close
Set oStream = Nothing
%>
Ciao
Oznog
Réponses
|