如何在ASP.NET(C#)中读取位于我的页面所在的同一文件夹中的文件? 我有一个名为mypage.aspx的页面,我正在尝试读取一个名为foo.txt的文件,该文件位于与此页面相同的目录中。
有没有办法打开该文件以便使用File.OpenRead()
进行阅读?
提供像File.OpenRead("foo.txt")
这样的相对路径会失败文件位置的b / c。
答案 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").
或者使用
从请求中获取PhysicalApplicationPathRequest.PhysicalApplicationPath
或
HttpRuntime.AppDomainAppPath
然后从请求中继续,然后从那里开始
答案 3 :(得分:0)
您可以在aspx页面中使用标签消息或文本框,您可以使用以下代码显示该文件,我使用了标签消息lblDisplay ID
。
lblDisplay.Text = File.ReadAllText(Server.MapPath("Give the path here"));