-1

如何使用我机器的 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();

`

4

1 回答 1

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 地址,则问题在于路径规范的其余部分。不仅冒号是无效字符,斜线 ( /) 也是如此。您的示例代码显示斜杠必须是反斜杠才能工作。

于 2013-02-20T11:18:00.533 回答