我无法访问服务器上的文件夹
本文关键字:文件夹 服务器 访问 | 更新日期: 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);
}
即:如果用户运行应用程序作为该文件夹所需的权限。