如何读取位于ASP.NET页面所在的同一文件夹中的文件?

时间:2011-02-11 20:03:40

标签: c# asp.net

如何在ASP.NET(C#)中读取位于我的页面所在的同一文件夹中的文件? 我有一个名为mypage.aspx的页面,我正在尝试读取一个名为foo.txt的文件,该文件位于与此页面相同的目录中。

有没有办法打开该文件以便使用File.OpenRead()进行阅读? 提供像File.OpenRead("foo.txt")这样的相对路径会失败文件位置的b / c。

4 个答案:

答案 0 :(得分:7)

应该是

File.OpenRead(Server.MapPath("foo.txt"));

答案 1 :(得分:2)

您应该尝试File.OpenRead(Server.MapPath("foo.txt"))

如果此MapPath未展开/无法找到正确的路径,请在从网站虚拟根开始指定相关页面的相对路径时尝试使用(使用波浪号({{ 1}})在字符串的开头表示这个),即~

答案 2 :(得分:0)

在ASP.NET中,该文件夹实际上是IIS的文件夹,通常位于C:\ Windows \ System32 \ Inetsrv \ etc。

您需要做的是使用

Server.MapPath("TheFileName").

或者使用

从请求中获取PhysicalApplicationPath
Request.PhysicalApplicationPath

HttpRuntime.AppDomainAppPath

然后从请求中继续,然后从那里开始

答案 3 :(得分:0)

您可以在aspx页面中使用标签消息或文本框,您可以使用以下代码显示该文件,我使用了标签消息lblDisplay ID

lblDisplay.Text = File.ReadAllText(Server.MapPath("Give the path here"));