Je cherche à permettre à une personne d'exporter des entrées de journal dans un fichier texte. Je peux créer un fichier avec toutes les données, mais en enregistrant strictement le fichier quelque part, je veux permettre à un utilisateur de télécharger et sauvegarder le fichier où il veut sur son ordinateur. Comment puis-je forcer le téléchargement d'un fichier après l'avoir créé avec StreamWriter? J'ai actuellement le code suivant:Comment forcer le téléchargement d'un fichier créé sur un ordinateur d'utilisateur C#
string fileName = "Journal.txt";
using (StreamWriter journalExport = new StreamWriter(fileName))
{
foreach (JournalEntryView entry in journalEnteries)
{
//write each journal entery to file/document
journalExport.WriteLine(entry.timestamp + " - " + entry.author + " (" + entry.authorRole + ")");
journalExport.WriteLine(entry.text);
journalExport.WriteLine("");
journalExport.WriteLine("");
}
}
Je tente aussi de mettre cela en un ActionResult et retourner le dossier.
EDIT: Le code suivant est mon nouveau code actuel et la direction que je suis à la recherche d'aller, mais quand j'utilise un ActionLink pour appeler cette méthode, je viens d'être redirigé vers une nouvelle page plutôt que de télécharger la fichier.
string fileName = "Journal.txt";
string filepath = ConfigurationManager.AppSettings["DocumentRoot"] + "\\" + id + "\\" + fileName;
using (StreamWriter journalExport = new StreamWriter(filepath))
{
foreach (JournalEntryView entry in journalEnteries)
{
//write each journal entery to file/document
journalExport.WriteLine(entry.timestamp + " - " + entry.author + " (" + entry.authorRole + ")");
journalExport.WriteLine(entry.text);
journalExport.WriteLine("");
journalExport.WriteLine("");
}
}
byte[] fileData = System.IO.File.ReadAllBytes(filepath);
string contentType = MimeMapping.GetMimeMapping(filepath);
var cd = new System.Net.Mime.ContentDisposition
{
FileName = fileName,
Inline = true,
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(fileData, contentType);
Est-ce que vous regardez 'FileContentResult' et la méthode' Fichier() '? – SLaks
J'ai mais je ne suis pas sûr de savoir comment les utiliser pour accomplir mes besoins –