Bonjour,
Je souhaite lancer le téléchargement (coté client) d'un fichier situé sur le serveur, lorsque l'utilisateur clique sur le bouton "Télécharger".
Je ne sais pas quoi utiliser Response.Redirect ou Server.Transfer?
Merci d'avance.
Bonjour,
Je souhaite lancer le téléchargement (coté client) d'un fichier situé sur le serveur, lorsque l'utilisateur clique sur le bouton "Télécharger".
Je ne sais pas quoi utiliser Response.Redirect ou Server.Transfer?
Merci d'avance.
Si c'est coté client alors une simple balise hypertexte avec l'addresse du fichier à télécharger, et le tour est joué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <A href="http://monserveur/downloadfiles/Monfichieratelecharger.xxx">Telecharger</A>
Merci pour cette solution.
Je souhaite lancer le téléchargement avec une ligne de code en C# dans la méthode "Button_Click".
Comment faire?
Server.Transfer ne permet que d'effectuer un transfert entre pages ASPX.
Response.Redirect permet de faire ce que tu souhaites, mais il y a un aller-retour invisible vers le client et donc une perte inutile de performance.
Sinon, il est possible d'ouvrir le fichier via FileStream en lecture non exclusive et d'écrire directement dans le Response.OutputStream.
Il y a aussi la solution de mettre un peu de javascript dans ta page lorsque tu passes dans ton evenement boutton afin d'ouvrir une popup vers le fichier à télécharger. M'enfin ca depend de comment tu souhaites télécharger...
Sinon,
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 FileInfo fileInfo = new FileInfo(@"C:\temp\fichier1.txt"); byte[] buffer = new byte[2048]; int block; using (FileStream fs = File.OpenRead(fileInfo.FullName)) { while ((block = fs.Read(buffer, 0, buffer.Length)) > 0) { Response.OutputStream.Write(buffer, 0, block); } } this.Page.Response.ClearHeaders(); this.Page.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileInfo.Name)); this.Page.Response.End();
"Winter is coming" (ma nouvelle page d'accueil)
Merci Immobilis. C'est ce type de solution que je recherchais.
Je l'ai cependant adapté puisque l'application tourne sur un serveur.
Au lieu de :J'ai remplacé par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part FileInfo fileInfo = new FileInfo(@"C:\temp\fichier1.txt");Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 string path = Server.MapPath(""); FileInfo fileInfo = new FileInfo(path + "/App_Data/fichier1.txt");
Partager