Si tu veux que tes visiteurs téléchargent ton fichier il ne faut pas un bête lien en href.
Voilà la source que j'utilise quand je suis dans ton cas, vires les commentaires que je t'ai mis une fois que tu as tout en tête.
remarque: je déclare le type de contenu en octet-stream.... ainsi l'application ne cherche pas à en connaitre le contenu, ca évite une ouverture du fichier alors que l'on souhaite juste l'enregistrer. De plus tu peux utiliser cette méthode pour tous les types de documents.
' Vide le buffer
response.clear()
' Dialogue de téléchargement
response.contentType = "application/octet-stream"
' seulement pour tes application/octet-stream !
response.addHeader "Content-Disposition","attachment; filename=" & mon_fichier
response.flush()
dir = "d:\mon_repertoire\distant\" 'ici il te faudra mettre le nom de ton dossier une fois récupéré
Fnm=dir&mon_fichier
set FSO = Server.CreateObject("Scripting.FileSystemObject" )
'ici tu vas créer un pointeur vers ton fichier
set filePt = FSO.getFile(Fnm)
set inF = FSO.OpenTextFile(Fnm,1,false)
'tu le lis dans t
t = inF.readAll
inf.close
'ici tu demandes de l_écrire, soit le contenu s_affiche, soit il s_enregistr suivant le choix de l_utilisateur
response.write(t)
'ce dernier point si tu veux effacer le fichier après téléchargement
filePt.Delete
Ce message pour te dire de ne pas te contenter d'un href, j'évite en général.
Mais ceci sous-entend que tu connais le nom de ton fichier et le repertoire où il est rangé.
Je ne suis pas sur de comprendre ta méthode server.MapPath(item.path).
Je préfère parcourir le répertoire avec un:
set foldPt = FSO.GetFolder(dir) 'pointeur vers le dossier
set fc = foldPt.Files 'recheche des fichiers à partir du pointeur
for each f in fc
nlienfichier="&nom_fichier="&f.name%>
<a href="export_data.asp?<%=nlienfichier%>">télécharger</a>
<%next%>
Il te restera à rajouter dans le code précédent
<%
mon_fichier=request("nom_fichier" )
%>
tu peux appliquer la même méthode pour récupérer le chemin de ton répertoire et ainsi le mettre dans "dir", chose que je n'ai jamais eu à faire perso, mais ca se bricole. Il te faut parcourir tous les dossiers un à un et lister à l'intérieur simultanément tous les dossiers avec un racourci vers a même méthode pour ce nouveau dossier et également tous les fichiers avec le lien fait précédemment.
Je ne peux pas plus.
Courrage!