在asp.net-mvc中从服务器读取文本文件的最佳方法是什么

时间:2011-07-05 12:48:52

标签: c# asp.net-mvc text-files

在我的一个控制器操作中,我需要读取一个包含大量参考数据的文本文件。现在我只需将它放在“/ Content”目录中。

我的问题是:

  1. 这是放置此文件的“正确”位置还是应该将其放在另一个目录中?
  2. 读取位于服务器上的asp.net-mvc中的文本文件的最佳方法是什么?

2 个答案:

答案 0 :(得分:97)

如果文件不能通过URL直接使用,则应将其放在App_Data中。

要阅读它,只需使用:

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

答案 1 :(得分:18)

好的,这对我有用(VS2017)

  1. 将file.txt的Build Action设置为 Content
  2. 检查复制到输出目录是否设置为“不复制”
  3. 使用HostingEnvironment.MapPath(@"~/App_Data/file.txt")(感谢Hong评论)

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