在我的應用程序中,我根據用戶選擇的選項修改圖像。每次修改默認圖像時,我都會保存並將其命名爲用戶ID & date.now.tostring("yyyyMMddHHmmssf")
,以解決瀏覽器緩存問題。這工作正常,但現在我可能會結束很多舊圖像。在會話結束時從服務器刪除臨時文件
現在我該如何刪除服務器上我的~/Images/Temp/userID
文件夾中的所有圖像?我正在考慮在Global.asax
中使用Session_End
或Application_end
,但我不認爲我可以訪問任何變量來獲取臨時圖像的路徑。
如何在會話結束後刪除這些臨時文件或類似的東西?
查詢字符串參數是最簡單的...基本上,只需要爲文件命名一次,並在更新時覆蓋它。然後當你設置你的圖像的源代碼(在你的代碼後面,如果你想),追加一個查詢字符串的圖像名稱。它可以是任何隨機值......其目的是欺騙網絡瀏覽器再次下載圖像,從而確保您永遠不會看到舊的緩存版本的圖像。 – 2012-08-15 14:47:39
這就像4答案在一... 1)我試圖避免有另一個程序或任務清理舊文件。 2,3,4)由於我仍然不熟悉web開發,因此我必須閱讀如何使用這些建議。如果這樣做有所不同,我正在做的事情都是通過VS2010中的代碼完成的。這可能不是正確的做事方式,但我更像是一個Windows .NET程序員,而不是ASP/Web開發人員。 – daNinja 2012-08-15 14:50:56
查詢字符串做了訣竅。現在,每個用戶(<200)只會創建一個臨時圖像。我在http://forums.asp.net/t/1561843.aspx/1找到了一個完美的問題,其中OP幾乎完成了我正在做的事情,除了他將修改後的圖像保存到處理程序的響應輸出流中。如果我能做到這一點,那麼我就不需要首先保存這些愚蠢的圖像。現在我只需要弄清楚如何使用處理程序.... – daNinja 2012-08-15 16:51:38