如何在C#中提供文件/文件夹的路径

时间:2015-03-12 06:16:00

标签: c# asp.net-mvc path file-handling

string strFile;
strFile = "Reports/" + ReportName;

ReportViewer1.Visible = true;
System.IO.StreamReader sr = new System.IO.StreamReader(HttpContext.Current.Server.MapPath("/") + strFile);

我现有的文件夹是网络中的Mvc中的报告... 当我在本地运行它时它会运行,但是当我发布到web时它会显示未找到的路径.. 我得到的错误是

  

无法找到文件'C:\ inetpub \ test \ Reports \ rptA.rdlc'

并在我的网页上

  '/'应用程序中的服务器错误。   运行时错误

2 个答案:

答案 0 :(得分:0)

您必须使用HostingEnvironment.MapPath

的网站根路径
strFile = Path.Combine(HostingEnvironment.MapPath,  "Reports/" + ReportName);

答案 1 :(得分:0)

您在问题中提到MVC但在标记中没有提及,因此可能会引起混淆。

我认为你正在使用MVC

   string filepath = HttpContext.Current.Server.MapPath("~/YorFolderName/YourFile"); (from MVC1 to MVC3)

MVC4

   string filepath = HttpContext.Server.MapPath("~/YorFolderName/YourFile");

https://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath(v=vs.110).aspx