2

我正在创建一个网站,可以在其中上传 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);
    }

}
4

2 回答 2

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...

}
于 2012-11-22T12:02:27.970 回答
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()从文件名中解析创建日期。

于 2012-11-22T12:09:40.533 回答