ASP .NET C#从Web路径中的文件中获取所有文本

The*_*ack 6 .net c# asp.net

我正在尝试打开一个文件,其中包含我的C#正在运行的Web目录中的一些数据.基本上只是把它变成一个字符串.我试着做以下......

string email = File.ReadAllText("/orderforms/email_templates/file_to_include.txt");
Run Code Online (Sandbox Code Playgroud)

我不确定这是否是正确的方法,但似乎存在路径问题,整个路径将根据其运行的Web服务器而改变.

这是目录设置......

/Classes/Page.ascx.cs  (the page that tries to read the text from the
file)
/orderforms/<one of multiple pages execute the above class here or in a sub directory
/orderforms/email_templates/file_to_include.txt
/orderforms/email_templates/file_to_include2.txt
Run Code Online (Sandbox Code Playgroud)

我应该使用什么路径和函数将文件的所有内容读取到字符串?

谢谢

Jer*_*ong 25

试试这个:

string email = File.ReadAllText(Server.MapPath("~/orderforms/email_templates/file_to_include.txt"))
Run Code Online (Sandbox Code Playgroud)

  • 你必须有HttpContext才能做到这一点,我必须添加它.`string email = File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("〜/ orderforms/email_templates/file_to_include.txt"));` (3认同)