我无法访问服务器上的文件夹

本文关键字:文件夹 服务器 访问 | 更新日期: 2023-09-27 17:56:47

我正在尝试访问服务器上的文件夹以获取其中的文件。

foreach (string filename in Directory.GetFiles(System.Web.HttpContext.Current.Server.MapPath(@"''108.163.190.98:3306'home'mybizscard'Ads'")))
{
    list.Add(filename);
}

但我得到这个例外:

WindowsFormsApplication1 中发生了类型为"System.NullReferenceException"的未处理异常.exe

其他信息:对象引用未设置为对象的实例。

问题是什么??我该如何解决?

我无法访问服务器上的文件夹

你确定你给出了正确的道路,我认为应该是

foreach (string filename in Directory.GetFiles(System.Web.HttpContext.Current.Server.MapPath(@"''108.163.190.98'home'mybizscard'Ads'")))
            {
                list.Add(filename);
            }

似乎您没有初始化字符串数组。

var files = new string[];
files = Directory.GetFiles(System.Web.HttpContext.Current.Server.MapPath(@"''108.163.190.98:3306'home'mybizscard'Ads'"));
foreach (string filename in files)
            {
                list.Add(filename);
            }

首先,MapPath不会做你认为它做的事情。它在 ASP.NET 应用程序中用于将相对路径映射到 Web 根目录(获取相对路径的绝对路径)。

从文档中:

返回与 Web 服务器上指定的虚拟路径对应的物理文件路径。

您不能在桌面应用程序中使用它。问题是你为什么要这样做?UNC 路径已经可以像任何其他路径一样使用(但是,它可能不包含端口):

foreach (string filename in Directory.GetFiles(@"''108.163.190.98'home'mybizscard'Ads'")))
{
    list.Add(filename);
}

即:如果用户运行应用程序作为该文件夹所需的权限。