Bonjour tout le monde !
Voilà j'ai fait plusieurs petites recherches et j'ai trouvé comment forcer le téléchargement d'un fichier texte sans qu'il ne soit interprété par le navigateur :
============================================
WebClient client = new
WebClient();
string urlFile =
ConfigurationManager.AppSettings["
RepertoireFichiersExportes"].ToString() +
accessFileName;
System.Web.
HttpContext.Current.Response.AddHeader("
Content-Disposition",
"
attachment; filename=" + accessFileName);
Response.ContentType = "
application/octet-stream";
// J'ai essayé avec "text/plain" aussi.... mais non... client.DownloadFile(urlFile, accessFileName);
============================================
où :
- accessFileName est un accesseur au nom du fichier
- la fonction est appelée sur un bouton d'un formulaire
Je précise que le fichier est très correctement généré dans le répertoire des fichiers exportés sur le serveur, nickel chrome. Mais cette petite fonction me retourne le fichier de la sorte (extrait ...) :
============================================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
Export Courbes Excel
</title><link href="../../App_Themes/Default/Default.css" type="text/css" rel="stylesheet" /></head>
<body>
<form name="form1" method="post" action="ExportClasseurExcelCourbes.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
[ ... ... ...]
============================================
A savoir que mon export se déroule de la façon suivante :
1) je demande un nom de fichier (champ texte)
2) par un validateur je vérifie que le nom est valide (pas de caractères interdits)
3) je présente dasn une GridView le contenu de la base de données qui sera exporté (toujours la même chose, le souci n'est pas là)
4) dans le fichier généré, j'ai bien mes données "nature" puisque j'ai parcouru le DataSet pour l'écrire, ca c'est quand je vais le voir dans le repertoire d'export sur le serveur, mais lorsque je le télécharge par la méthode ci-dessus, il contient tout le HTML de la page, avec les balises <table><td><tr></tr></td></table> etc .. représentant la GridView.... Mais avec le données à l'intérieur...
Quelqu'un pourrait m'indiquer comment proposer le fichier effectivement généré au téléchargement, sans qu'il ne m'incruste le HTML de la page... je ne comprends pas pourquoi il ne va pas lire directement le fichier sur le serveur....Bon ok, je suis noob dans le monde de l'ASP mais quand même

Merci bien !

"Un seul Être vous manque, et tout est dépeuplé..."
