You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2003 R2目录连接问题:远程读JPG文件报错67求助

嘿,你遇到的错误67(指定的网络名称未找到),核心问题全在参数的格式和取值上,咱们一步步拆解修正:

一、先搞懂错误67的本质

这个错误说白了就是系统完全识别不了你指定的远程共享资源路径——要么格式错了,要么目标共享根本不存在/不可达,咱们先从最关键的参数改起。

二、逐个修正你的参数问题

1. localName = "F:"

这个格式是对的,它指的是本地Windows系统中未被占用的盘符,用来把远程共享映射成本地盘符。需要注意的是:WebForm所在的进程(比如IIS应用池账户)得有权限挂载盘符,而且F盘当前不能被本地其他程序占用。不过这不是你现在报错的原因,先记着就行。

2. networkName = "servidor_99"

这是错误67的主要元凶!正确的远程共享路径必须是完整格式:

  • 要么是 \\服务器IP\共享文件夹名称(比如 \\192.168.1.100\ImageStorage)
  • 要么是 \\服务器计算机名\共享文件夹名称(内网能解析计算机名的情况下,比如 \\servidor_99\PhotoShare)
    你直接写servidor_99,系统完全不知道这是啥——它需要明确的“服务器地址+共享目录”才能定位资源。

3. objnetCred 凭据参数

你把Domain设成"999.999.99.999"是完全错误的!Domain的正确取值分两种情况:

  • 如果目标Windows Server 2003是加入域环境的:填域的名称(比如 CORP_DOMAIN)
  • 如果是工作组模式(2003很多是这种):填目标服务器的计算机名(比如 servidor_99),或者直接把用户名写成 服务器名\用户名 的格式(比如 servidor_99\usernamexxx),此时Domain可以留空。
    另外一定要确认这个用户名和密码确实有权限访问目标共享文件夹,并且能读取里面的.jpg文件。
三、修正后的代码参考
// 正确的远程共享路径(替换成你的实际IP/计算机名+共享文件夹)
string networkName = @"\\192.168.x.x\YourImageShare"; 
// 本地未被占用的盘符
string localName = "F:";
// 工作组模式下的凭据示例
NetworkCredential objnetCred = new NetworkCredential(
    userName: "usernamexxx",
    password: "xxxxxxxxxx",
    domain: "servidor_99" 
);

using (NetworkConnection nc = new NetworkConnection(localName, networkName, objnetCred))
{
    // 读取文件的逻辑示例
    string targetFilePath = Path.Combine(localName, "target.jpg");
    if (File.Exists(targetFilePath))
    {
        // 这里处理你的文件读取操作
    }
}
四、额外要检查的点
  • 确认WebForm的运行账户(比如IIS应用池的账户)有足够权限创建网络映射,别用默认的低权限账户。
  • 检查远程Windows Server 2003的防火墙,确保开启了文件共享的相关端口(File and Printer Sharing)。
  • 先在本地电脑上测试共享路径:打开运行输入\\服务器IP\共享名,用你的用户名密码登录,看看能不能正常访问——能访问的话再把路径用到代码里,避免踩坑。

内容的提问来源于stack exchange,提问作者GABO1957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:40:17