2012-11-22 106 views
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); 
    } 

} 

回答

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()文件名的創建日期。

+0

感謝您的幫助。 – Lahib

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

} 
+0

感謝您的幫助。 – Lahib

相關問題