在服务器上搜索文件名

时间:2012-11-22 11:55:39

标签: c# asp.net .net

我创建了一个网站,可以从中提升excel文件的最终提取数据。在我的代码中,我将excel文件上传到 Uploade 文件夹中的服务器上的应用程序,并从中提取数据。

我正在将文件名重命名为带有日期和时间的字符串,所以我删除的文件与我从DateTime.Now得到的字符串不匹配,因为我不想用excel文件填充我的服务器。

所以我想检查服务器上 Uploade 文件夹中的现有文件,如果有旧版excel文件我想删除它们。

如何从服务器获取文件夹内容?

我的代码:

protected void uploadButton_Click(object sender, EventArgs e)
{
    if (fileUpload.HasFile)
    {
        string fileuploaded = Server.MapPath("Upload") + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + "excel" + Path.GetExtension(fileUpload.FileName);
        fileUpload.SaveAs(fileuploaded);
    }

}

2 个答案:

答案 0 :(得分:2)

string folder = Server.MapPath("Upload");
foreach (var item in Directory.GetFiles(folder))
{
    FileInfo fi = new FileInfo(item);
    DateTime creationDate = fi.CreationTime;
    //TODO: check creation date and delete files you want...

}

答案 1 :(得分:2)

您可以使用Directory.GetFiles方法:

string folder = Server.MapPath("Upload");
foreach (var filePath in Directory.GetFiles(folder, "*excel*"), SearchOption.TopDirectoryOnly)
{
    FileInfo fi = new FileInfo(filePath);
    if ((DateTime.Now - fi.CreationTime).TotalDays > 30)
    {
        File.Delete(filePath);
    }
}

您还可以使用DateTime.ParseExact()从文件名解析创建日期。