我正在创建一个网站,可以上传 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/