1.admin用户上传文件传到update文件夹里面(没有经过数据库,弄简单直观点的)
2.然后其他用户能通过一个界面看到这些上传的文件(最好是列表形式),
3.文件列表里面就显示各上传的文件名,创建时间,下载三项就行了关键是第二三个功能,如何扫描文件夹里面的文件并把他们的文件名集中起来,不知道怎么做法希望高人指点迷津!!!

解决方案 »

  1.   

                DirectoryInfo di;
                FileInfo[] fileList;
                DataGridView dgvList;
                DataTable dTable = new DataTable();
                dTable.Columns.Add("FileName");
                dTable.Columns.Add("CreatedDt");
                using (FolderBrowserDialog dlg = new FolderBrowserDialog())
                {
                    dlg.Description = "Select a folder";
                    dlg.ShowNewFolderButton = false;
                    if (dlg.ShowDialog() == DialogResult.OK)
                    {
                        di = new DirectoryInfo(dlg.SelectedPath);
                        fileList = di.GetFiles();
                        foreach (FileInfo fi in fileList)
                        {
                            DataRow dr = dTable.NewRow();
                            dr["FileName"]=fi.Name;
                            dr["CreatedDt"]=fi.CreationTime.ToShortDateString();
                        }
                        dgvList.DataSource = dTable;                }
                    else return;
                  }
      

  2.   

    还有网页中怎么用 FolderBrowserDialog ?
      

  3.   

    QT很容易实现这个功能。
    QString dir = QFileDialog::getExistingDirectory(this, tr("选择文件夹:"), "/home",
                  QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
    //选择需要扫描的文件夹
    QDir  pdir(dir);
    QFileInfoList  dirlist = pdir.entryInfoList(QDir::Dirs | QDir::Files, QDir::Name);
    //dirlist里面就是该文件下的所有文件夹和文件了,按文件名称排序,然后可以遍历dirlist获取文件相关信息和添加到显示列表,QDir::Dirs是扫描文件夹,QDir::Files是扫描文件,可以分开扫描保存。譬如dirlist[0].baseName()就能获取到第一个文件名
      

  4.   

    C#遍历指定文件夹中的所有文件 
    DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);
    //遍历文件夹
    foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())
       this.listBox1.Items.Add(NextFolder.Name);
    //遍历文件
    foreach(FileInfo NextFile in TheFolder.GetFiles())
       this.listBox2.Items.Add(NextFile.Name);
    ===================================================================
    如何获取指定目录包含的文件和子目录
        1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
        2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
        3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
    如何获取指定文件的基本信息;
        FileInfo.Exists:获取指定文件是否存在;
        FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
        FileInfo.FullName:获取文件的全限定名称(完整路径);
        FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
        FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
        FileInfo.Length:获取文件的大小(字节数);
        FileInfo.IsReadOnly:获取文件是否只读;
        FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
        FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;
      

  5.   

      DirectoryInfo di; 
      FileInfo[] fileList;
      //在aspx 页面上添加ListView控件 命名为 dgvList
      DataTable dTable = new DataTable();
      dTable.Columns.Add("FileName");
      dTable.Columns.Add("CreatedDt");
      
      di = new DirectoryInfo(@"C:\upload");//设定文件夹路径。
      fileList = di.GetFiles();//获取文件夹内的文件信息。
      foreach (FileInfo fi in fileList)//遍历得到单个文件信息并且储存于dTable中的新的一行。
      {
      DataRow dr = dTable.NewRow();
      dr["FileName"]=fi.Name;
      dr["CreatedDt"]=fi.CreationTime.ToShortDateString();
      }
      dgvList.DataSource = dTable;
      dgvList.DataBind();//绑定ListView的数据源到dTable.
      }
     大致如此,文件信息显示在ListView 中。