Télachargement de fichiers

cs_Suffren Messages postés 92 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 9 août 2004 - 3 août 2004 à 10:19
cs_Suffren Messages postés 92 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 9 août 2004 - 6 août 2004 à 10:34
Bonjour,
je suis en train de réaliser un site Intranet sécurisé pour que les clients de ma société puisse télécharger les mises à jour des logiciels développés.
J'utilise le code suivant avec un LinkButton :
url= "C:\InetPub\wwwroot\Telechargement\Download\ASPNET_Fab_DLManager.pdf"
chemin = "C:\Documents and Settings\virginie\Mes documents"
NomFichier = Split(url, "")(UBound(Split(url, "")))
Label2.Text = NomFichier

Response.Clear() 'Vie le buffer
'Mode de transmission
Response.ContentType = "Application/pdf"
'Nom du document qui va s'afficher pour l'utilisateur :
Response.AppendHeader("Content-Disposition", "attachment; filename=" & NomFichier)
Response.Flush()
'Envoie le contenu du fichier
Response.WriteFile(chemin & NomFichier) 'tu mets ici l'adresse du fichier que tu as récupéré dans une string
Response.End()

Le problème est que le résultat du téléchargement est un fichier de 0 octet.
Quelqu'un a-t-il une idée de ce qui cloche?

Cordialement,
Suffren

PS: La balise "Code" ne marche pas, désolée.

1 réponse

cs_Suffren Messages postés 92 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 9 août 2004
6 août 2004 à 10:34
Bonjour,
J'ai réussi à télécharger certains types de fichiers (word, image jpeg) mais pas les zip les mdb (base de données) ou les pdf par exemple.
J'utilise le code suivant :

Dans l'événement clic du linkbutton :
url= "C:/InetPub/wwwroot/Telechargement/Download/ASPNET_Fab_DLManager.pdf"
chemin = "C:/Documents and Settings/virginie/Mes documents/"
NomFichier = Split(url, "/")(UBound(Split(url, "/")))
 Label2.Text = download_file(url, chemin & NomFichier)

La focntion download_file() :

Dim dl As New System.Net.WebClient() 'on crée un objet webclient
Dim n As Long = Environment.TickCount 'cette variable n'est pas obligatoire, elle servira à déduire le temps que le téléchargement a pris

Try
      dl.DownloadFile(url, chemin) 'la commande de téléchargement de l'objet dl
       dl.Dispose() 'on libère dl
       Return "Téléchargement effectué en " & ((Environment.TickCount - n) / 1000) & " secondes" 'on renvoie une string indiquant le temps de téléchargement, sous entendant par la meme occasion l'execution avec succés du téléchargement

        Catch ex As Exception
            Return ex.Message.ToString 's'il y a une erreur, on en renvoie la description
        End Try


Et il me met :
An exception occurred during a WebClient request.

Je ne vois pas comment faire en sorte qu'il prenne en compte des extensions autres que les "habituelles".
si quelqu'unn peut m'aider qu'il le fasse car cela fait deux jours que je me casse la tête à chercher.
Merci d'avance.
Cordialement,
Suffren
0
Rejoignez-nous