57 votes

Quelle est la meilleure façon de lire un fichier texte depuis le serveur en asp.net-mvc ?

Dans l'une des actions de mon contrôleur, je dois lire un fichier texte contenant un certain nombre de données de référence. Pour l'instant, je le place simplement dans le répertoire "/Content".

Mes questions sont les suivantes :

  1. Est-ce le "bon" endroit pour placer ce fichier ou dois-je le placer dans un autre répertoire ?
  2. Quelle est la meilleure façon de lire un fichier texte dans asp.net-mvc qui se trouve sur le serveur ?

112voto

mathieu Points 17729

Si le fichier ne doit pas être directement disponible via l'URL, vous devez le placer dans App_Data.

Pour le lire, il suffit d'utiliser :

var fileContents = System.IO.File.ReadAllText(Server.MapPath(@"~/App_Data/file.txt"));

21voto

Ok, de cette façon cela fonctionne pour moi (VS2017)

  1. Définissez l'action de construction du fichier.txt à Contenu
  2. Vérifier si la copie dans le répertoire de sortie est no réglé sur "Ne pas copier".
  3. Utilice HostingEnvironment.MapPath(@"~/App_Data/file.txt") (merci au commentaire de Hong)

    var fileContents = 
        System.IO.File.ReadAllText(HostingEnvironment.MapPath(@"~/App_Data/file.txt"));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X