C#未能映射路径“⼀172.23.105.66⼀D$⼀气象虚目录⼀love.txt”。

2025-05-14 07:30:49
推荐回答(2个)
回答1:

xiangdn0307回答正确,应该符合UNC命名规则。
另外若是Web网站程序,应该用Server.MapPath将虚拟目录转换为物理路径。再,启动Web网站程序的用户是Network Service或者ASP.NET,无权访问D$这样的管理共享。
访问局域网其它机器上的文件:
不管什么程序,既然用StreamReader就都是相同的。
要求局域网文件宿主机器支持NetBios协议,因此可以使用UNC名称,即\\machinename\sharefileName。
另外,文件宿主机器必须将文件设为共享,访问权限为guest可读,会方便些,否则还要提供用户名和密码。
用这个UNC名称作为参数,构造StreamReader即可。

回答2:

\\172.23.105.66/D$/气象虚目录/love.txt

要写两个反斜线吧

如果是"\\172.23.105.66\D$\love.txt"这样的物理路径就不要加Server.MapPath,直接用这个地址

如果你用的是本机网络路径,比如:"http://localhost/files/love.txt"那么才需要用Server.MapPath("http://localhost/files/love.txt")去映射这个网络地址的物理路径