嗨,我想知道你们是否可以帮忙。
我正在编写一个将在多个服务器上运行的应用程序,因此有多个 IP,我不想使用确切的 IP 和目录结构,而是想从应用程序实际运行的位置“后退”一个文件夹.例如....
文件夹结构为
\controls\---- 这包含将检查 xml 文件是否存在于 blogengine 文件夹中的 aspx 文件。
\blogengine\这应该包含 xml 文件
我使用的代码是......
string[] filePaths = Directory.GetFiles(@"\\94.175.237.35\inetpub$\wwwroot\mytest\BlogEngine\", "*.xml");
这将在特定服务器上找到文件,但我需要找到与运行应用程序的服务器相关的文件,这样我就不必不断更改文件路径。所以我需要类似的东西
string[] filePaths = Directory.GetFiles(@"..\BlogEngine\", "*.xml");
但是我找不到正确的语法来执行此操作?
有人知道吗?
提前致谢, 克雷格
最佳答案
使用 Server.MapPath()
方法将相对路径(基于当前目录或网站根目录)映射到绝对可访问路径。
例如:
string folderPath = Server.MapPath("~/BlogEngine");
string[] filePaths = Directory.GetFiles(folderPath, "*.xml");
波浪字符代表您网站的根目录,如果您指定相对路径,那么它将被解析为相对于您的 ASP.NET 页面所在的目录。
关于c# - 使用 Directory.Getfiles 指定绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12373352/