如何显示目录(文件夹)中的所有文件

时间:2012-12-07 10:37:13

标签: c# asp.net image

我想在listbox中显示我的所有图片名称。我试图弄清楚如何检索文件名。 我试过这个

protected void Page_Load(object sender, EventArgs e)
{
string u = Request.Url.AbsoluteUri.ToString();
string serverPath = u.Substring(0, u.LastIndexOf("/")) + "/UBOimages";
Label1.Text = serverPath;
DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/UBOimages"));
//FileInfo[] fileInfo = dirInfo.GetFiles();
Label2.Text = dirInfo.ToString();
}

但标签中的结果如下:

http://localhost:49170/UBOimages
C:\Users\John\Documents\UBO\uboWebCustomer\HuronWood\HuronWood\UBOimages

当加载到服务器上时,此页面将显示错误,因为它不喜欢dirInfo路径。 从文件夹(例如图像文件夹)中检索所有文件的正确方法是什么

4 个答案:

答案 0 :(得分:3)

    DirectoryInfo dirInfo = new DirectoryInfo(Server.MapPath("~/UBOimages"));
    FileInfo[] fileInfo = dirInfo.GetFiles("*.*", SearchOption.AllDirectories); 

循环遍历此fileinfo数组或将其绑定到任何Gridview或listview。

答案 1 :(得分:1)

如果您需要获取名为“Data”的文件夹中的所有文件,只需将其编码为

 string[] Documents = System.IO.Directory.GetFiles("../../Data/");

现在'Documents'包含'Data'文件夹中文件的完整对象名称数组。

答案 2 :(得分:1)

System.IO.DirectoryInfo.GetFiles将帮助您获取给定目录的所有文件。

DirectoryInfo.ToString不用于列出目录文件。它将给出当前DirectoryInfo对象的字符串表示,您会看到在这种情况下它是目录路径。

答案 3 :(得分:0)

@我正在使用上面的答案根据你的问题编写我的代码!!!

Using System.IO

protected void ListFiles()
{
        const string MY_DIRECTORY = "/MyDirectory/";
        string strFile = null;
        foreach (string s in Directory.GetFiles(Server.MapPath(MY_DIRECTORY), "*.*")) {
                strFile = s.Substring(s.LastIndexOf("\\") + 1);
                ListBox1.Items.Add(strFile);
        }

希望这有帮助!!!