c# - 在服务器上搜索文件名

标签 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);
    }

}

最佳答案

您可以使用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() 从文件名解析创建日期.

关于c# - 在服务器上搜索文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13512274/

相关文章:

c# - 比较两个列表并删除相同的结果c#

c# - WP 7 多线程,无效的跨线程访问

C#启动一个进程后,进程立即退出

asp.net - 为什么我在 asp.net 中收到数据库连接错误?

c# - Stream 写入的内容可能小于缓冲区大小吗?

c# - 启动具有数据库支持的新应用程序

c# - WCF 回调计时器

c# - 在原始文本字符串中查找链接

asp.net - 如何使用 JavaScript 从另一个列表框填充一个列表框?

javascript - 将 JSON 反序列化为通用列表