我已经检查了这个帖子How to get files in a relative path in C#,该目录在IDE中,这对我来说不正确。我有一个网站应用程序,需要从同一级文件夹img
获取图像文件。我可以使用以下代码来获取它们:
DirectoryInfo path=new DirectoryInfo(@"c:\WebsiteSolution\wwwroot\Chat\img");
FileInfo[] images = path.GetFiles("*");
但是我想用.\img
之类的东西替换第一行代码中的参数,这可能吗?
答案 0 :(得分:6)
调用Server.MapPath实用程序以获取相对路径。
DirectoryInfo path = Server.MapPath("~\Chat\img");
答案 1 :(得分:0)
对于ASP.Net,请使用MapPath - http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx。
此外,如果您只需要构建路径来渲染页面,只需/Chat/img/My.gif即可。
答案 2 :(得分:-1)
你需要找到一个锚点 - 比如Application.ExecutablePath
- 然后使用Path.Combine()
的锚点来到你的图像目录。
如果您的Application.ExecutablePath
为:@"c:\WebSiteSolution\wwwroot\chat\code"
,那么您可以使用string imgPath = Path.Combine(Application.ExecutablePath, @"..\img");
如果你很难找到一个好锚,那就有一堆需要考虑。您可以通过Assembly.GetExecutingAssembly().Location