2016-08-20 41 views
0

我的ASP.NET Web窗体项目中有一个名为“inc”的文件夹,里面还有另一个名为“drinks”的文件夹,里面有图像。所以绝对路径就像〜/ inc/drinks /。ASP.NET Web窗体:如何遍历项目/服务器文件夹中的文件

我想要使用此功能来获得,准确的文件夹中的所有文件名:

private static string[] getImageNames(string imgPath) 
    { 
     string[] names = Directory.GetFiles(imgPath) // <- exception 
            .Select(path => Path.GetFileName(path)) 
            .ToArray(); 

     return names; 
    } 

不幸的是,不工作,我得到一个异常:

找不到路径'C:\ Program Files(x86)\ inc \ drinks'的一部分。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。

异常详细信息:System.IO.DirectoryNotFoundException:找不到路径'C:\ Program Files(x86)\ inc \ drinks'的一部分。

此时imgPath变量的值是“../inc/wines/”,它应该可以工作,但正如您所看到的,程序不是通过服务器文件搜索,而是通过我的PC文件系统在C:驱动器上。 我尝试在开始时放置“〜/”而不是“../”,但不是运气。

有什么建议吗?

回答

2

将其更改为Directory.GetFiles(HttpContext.Current.Server.MapPath(imgPath))

this answer,详细了解使用Server.Mappath

相关问题