如何使用我的机器的IPAddress在C:\ inetpub \ wwwroot \上创建一个文件夹?

时间:2013-02-20 11:13:16

标签: c#

如何使用我的机器的IPAddress在C:\ inetpub \ wwwroot \上创建文件夹? ff代码似乎对我不起作用。它给出了错误:不支持给定路径的格式。

          `     string appPath = Request.PhysicalApplicationPath;
                string IPAddress = HttpContext.Current.Request.UserHostAddress;

                Directory.CreateDirectory(appPath + "//GM_KanbanTracking/" + IPAddress); error     here The given path's format is not supported.
                StreamWriter w;
                w = File.CreateText(appPath + "//GM_KanbanTracking/" + IPAddress +     "/test.txt");
                w.WriteLine(fileContents.ToString());
                w.Flush();
                w.Close();

`

1 个答案:

答案 0 :(得分:0)

虽然您可能拥有常规IPv4地址(例如192.168.1.1),但在这种情况下,主机地址可能是IPv6地址,如下所示:2001:0:9d38:953c:cad:20fd:3f57:fa08。由于文件名中不允许使用冒号(:),因此您必须将其更改为其他内容,如下所示:

string IPAddress = HttpContext.Current.Request.UserHostAddress.Replace(":", "_");

这会将我的IP地址转换为2001_0_9d38_953c_cad_20fd_3f57_fa08,这是一个有效的文件名。

如果您有IPv4地址,则问题在于路径规范的其余部分。冒号不仅是无效字符,而且斜杠(/)也是如此。您的示例代码显示了斜杠,必须使用反斜杠才能工作。