OVH Cloud OVH Cloud

Probleme de telechargement

4 réponses
Avatar
Mielmonster
Bonjour,

j'essaie sur une page ASP.NET de proposer le telechargement d'un fichier au
format csv.
je souhaiterais que le navigateur propose le telechargement plutot qu'une
ouverture.

j'ai essaye un certain nombre de techniques sans succes.

pour l'instant, j'ai une page .aspx qui genere le fichier et le renvoit.

cela fonctionne parfaitement avec firefox mais pas avec IE.

auriez vous une idee ???

merci d'avance

Yannick

Code :

Response.Clear();
Response.BufferOutput=true;
//Response.ContentType="application/csv";
Response.ContentType="application/force-download";
Response.AppendHeader("content-disposition","attachment;filename=export_" +
DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day +
".csv");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.AppendCacheExtension("post-check=0,pre-check=0");
Response.Cache.SetExpires(DateTime.Now);
Response.Write(build.ToString());
Response.End();

4 réponses

Avatar
Mielmonster
je suis en https.
je ne sais pas si ca a un quelconque rapport mais dans le doute...

Yannick

"Mielmonster" a écrit dans le message de news:
41eb9335$0$25778$
Bonjour,

j'essaie sur une page ASP.NET de proposer le telechargement d'un fichier
au format csv.
je souhaiterais que le navigateur propose le telechargement plutot qu'une
ouverture.

j'ai essaye un certain nombre de techniques sans succes.

pour l'instant, j'ai une page .aspx qui genere le fichier et le renvoit.

cela fonctionne parfaitement avec firefox mais pas avec IE.

auriez vous une idee ???

merci d'avance

Yannick

Code :

Response.Clear();
Response.BufferOutput=true;
//Response.ContentType="application/csv";
Response.ContentType="application/force-download";
Response.AppendHeader("content-disposition","attachment;filename=export_"
+ DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day +
".csv");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.AppendCacheExtension("post-check=0,pre-check=0");
Response.Cache.SetExpires(DateTime.Now);
Response.Write(build.ToString());
Response.End();



Avatar
Simon Mourier [MS]
Je ne vois pas application/force-download comme un Content-Type supporté par
IE, en tous cas, pas chez moi (HKCRMimeDatabaseContent Type). C'est censé
fonctionner avec Internet Explorer?

Simon.

"Mielmonster" a écrit dans le message de news:
41eb9335$0$25778$
Bonjour,

j'essaie sur une page ASP.NET de proposer le telechargement d'un fichier
au format csv.
je souhaiterais que le navigateur propose le telechargement plutot qu'une
ouverture.

j'ai essaye un certain nombre de techniques sans succes.

pour l'instant, j'ai une page .aspx qui genere le fichier et le renvoit.

cela fonctionne parfaitement avec firefox mais pas avec IE.

auriez vous une idee ???

merci d'avance

Yannick

Code :

Response.Clear();
Response.BufferOutput=true;
//Response.ContentType="application/csv";
Response.ContentType="application/force-download";
Response.AppendHeader("content-disposition","attachment;filename=export_"
+ DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day +
".csv");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.AppendCacheExtension("post-check=0,pre-check=0");
Response.Cache.SetExpires(DateTime.Now);
Response.Write(build.ToString());
Response.End();



Avatar
Patrice
Si tu commences par tester :
Response.Clear();
Response.AddHeader("content-disposition",
"attachment;filename=test.csv");
Response.Write("A,B,C,D");
Response.Write("1,2,3,4");
Response.End();



Tu n'as toujours pas le dialogue ?



Patrice




--

"Mielmonster" a écrit dans le message de
news:41eb9335$0$25778$
Bonjour,

j'essaie sur une page ASP.NET de proposer le telechargement d'un fichier


au
format csv.
je souhaiterais que le navigateur propose le telechargement plutot qu'une
ouverture.

j'ai essaye un certain nombre de techniques sans succes.

pour l'instant, j'ai une page .aspx qui genere le fichier et le renvoit.

cela fonctionne parfaitement avec firefox mais pas avec IE.

auriez vous une idee ???

merci d'avance

Yannick

Code :

Response.Clear();
Response.BufferOutput=true;
//Response.ContentType="application/csv";
Response.ContentType="application/force-download";
Response.AppendHeader("content-disposition","attachment;filename=export_"


+
DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + DateTime.Now.Day +
".csv");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.AppendCacheExtension("post-check=0,pre-check=0");
Response.Cache.SetExpires(DateTime.Now);
Response.Write(build.ToString());
Response.End();




Avatar
Zazar
Bonjour,

j'essaie sur une page ASP.NET de proposer le telechargement d'un
fichier au format csv.
je souhaiterais que le navigateur propose le telechargement plutot
qu'une ouverture.

j'ai essaye un certain nombre de techniques sans succes.

pour l'instant, j'ai une page .aspx qui genere le fichier et le
renvoit.

cela fonctionne parfaitement avec firefox mais pas avec IE.



Si vous testez sous un IE sous win XP SP2, il peut empêcher le
téléchargement sous certaines conditions. Notamment si vous faîtes le
téléchargement dans le load de la page par exemple, ça ne fonctionnera pas.
Pour remédier à ce problème, il suffit de faire le téléchargement juste
aprés une action de l'utilisateur (un clique sur un bouton par exemple) et
pas aprés une redirection vers une page.

--
Zazar