我有一個按鈕,點擊後會生成一個PDF並將其寫入響應。有沒有辦法在向響應寫出文件後完成回發?
這是代碼的基本結構:
try
{
using(Stream stream = generatePdf())
{
var file = createFile(stream);
file.Transmit(HttpContext.Current.Response);
}
}
catch (Exception ex)
{
// Handle exception
// Display Error Message
}
的發送方法包含以下代碼:
response.AddHeader("Content-Disposition", String.Format("attachment; filename={0}", filename));
response.AddHeader("Content-Length", bytes.Length.ToString());
response.ContentType = "application/octet-stream";
response.BinaryWrite(bytes);
下載文件工作正常,但它沒有完成回傳。
如果我在file.Transmit
以上拋出異常,錯誤處理將正常工作,並且我會看到該消息顯示在瀏覽器中。但是,如果file.Transmit
之後出現異常,則不會發生任何情況。用戶保存/打開PDF,頁面不會重新加載。
我該如何使回發總是完成,這樣我才能向用戶顯示相應的消息?