2016-08-05 36 views
-2

我上傳我的網站上的文件,併爲用戶提供guid +文件擴展名的下載鏈接,並將該新文件複製到另一個文件夾中。在特定時間撤銷並刪除文件asp.net mvc

我想撤銷下載鏈接,刪除新文件10分鐘後,或者是真實的一次請求後撤銷鏈接?

我該怎麼做?

+0

歡迎計算器!你可以添加一些細節如何試圖實現這一點?像:你想使用後臺工作線程來刪除文件?您想如何堅持哪些文件無效的信息?你在使用數據庫嗎? – ventiseis

回答

0

要刪除文件,您需要編寫一個Windows服務來輪詢文件,或者如果您想保持它真的基本,您可以在每次加載頁面時檢查舊文件。當用戶請求下載,檢查所有文件的創建日期在目標目錄

這裏是基本的版本。如果文件超過10分鐘 - 刪除它。清理它是那麼的文件後看到一個簡單的檢查,如果用戶所要求的目標文件仍然存在或不

您可以使用以下檢查創建日期和刪除文件:

 string[] files = System.IO.Directory.GetFiles(@"C:\_Temp", "*.txt"); 
     foreach (string file in files) { 
      DateTime creation = System.IO.File.GetCreationTime(file); 
      if (((TimeSpan)(DateTime.Now - creation)).TotalMinutes > 10) { 
       System.IO.File.Delete(file); 
      } 
     } 

注意:確保目標目錄中沒有任何重要文件。更改「* .txt」以匹配上傳文件的文件格式。

接下來,檢查所請求的文件仍然存在使用:

if (File.Exists(@"C:\test.txt")) { 
    // process file here 
} 

希望幫助:)