我创建了一个网站,可以从中提升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);
}
}
答案 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()从文件名解析创建日期。