﻿# 如何讓使用者下載完檔案後自動刪除暫存的檔案

我們有時後會在 Server 端動態的產生一個檔案，然後讓使用者下載，你也有可能希望使用者下載完該檔的時候可以直接從 Server 端直接刪除，不過這個動作無法在一個 HTTP Request/Response 循環中完成，因為檔案正在傳送回用戶端時並無法刪除該檔！

另一種可能會出現的需求是，使用者上傳檔案（例如說要匯入資料庫的檔案），上傳完之後的下一頁需要處理一些資料的驗證等工作，最後將資料寫入資料庫後將該暫存檔刪除。 

諸如此類的需求可以使用 Path 類別的一個靜態方法 [Path](http://msdn2.microsoft.com/zh-tw/library/system.io.path.aspx "Path 類別").[GetTempFileName()](http://msdn2.microsoft.com/zh-tw/library/system.io.path.gettempfilename.aspx "Path.GetTempFileName()") 來達成，該方法會再你系統的暫存目錄中建立一個長度為 0 的暫存檔案，然後回傳該檔案的完整路徑，你就可以用這個檔案路徑寫入你要寫入的資料，至於何時要刪除掉這個檔案就不重要了，因為刪除暫存檔的動作可以留給作業系統來處理！

```csharp
string tmpFilePName = Path.GetTempFileName();

File.WriteAllText(tmpFilePName, "TEST 123");
```
