繁体   English   中英

ASP.NET Web窗体:如何遍历项目/服务器文件夹中的文件

[英]ASP.NET Web Forms: How to traverse the files in a project/server folder

我的ASP.NET Web窗体项目中有一个名为“ inc”的文件夹,里面有一个名为“ drinks”的文件夹,其中包含图像。 因此,绝对路径将类似于〜/ inc / drinks /。

我正在尝试使用此功能获取该确切文件夹中的所有文件名:

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:驱动器的文件系统。 我尝试将“〜/”而不是“ ../”放在开头,但是不走运。

有什么建议么?

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

有关Server.MapPath的更多详细信息,请参见此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM