我有一個網格,它提供了一些用戶下載文件的鏈接。文件存儲在應用程序之外,從數據庫中讀取路徑引用,並使用HTTP處理程序(* .ashx)爲每個請求的文件提供服務。但是,可能會有數據庫條目指向不存在的文件。我找到FileNotFoundException
,但我不確定什麼是最好的方法來通知用戶丟失的文件(以便他們可以聯繫支持)。在文件下載HTTP處理程序中處理404的最佳方法?
第一個想法是在響應上設置一個標準的404代碼,這就是我現在所做的。
更有用的方法是顯示關於缺少文件的通知(jQuery),但文件下載不是在AJAX中完成的,因此這涉及到兩個步驟 - 客戶端onclick處理程序調用Web服務方法檢查文件是否存在,如果不存在,則取消點擊(返回false)並向用戶顯示友好的消息。如果文件存在,然後我繼續正常執行。但是這又增加了另一個服務器調用。
你有沒有處理過類似的問題?你是如何解決它的?
一些說明 - 應用程序構建在ASP.NET 2.0中,並使用jQuery調用Web服務方法。
但是,我不能區分缺少的文件情況和整個頁面丟失時。我可以在404頁面上提供一些更詳細的解釋,例如「如果您嘗試下載文件聯繫人支持,如果您嘗試訪問無法找到的頁面」等)。 – 2009-03-04 11:57:40