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