0

我想将我所有的图片名称显示在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

4 回答 4

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

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

于 2012-12-07T10:43:54.210 回答
1

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

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

现在“文档”由文件夹“数据”中文件的完整对象名称数组组成。

于 2012-12-07T10:48:41.410 回答
1

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

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

于 2012-12-07T10:49:12.970 回答
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);
        }

希望这可以帮助!!!

于 2012-12-07T10:50:15.157 回答