How to handle error with content-disposition
Posted
by František Žiacik
on Stack Overflow
See other posts from Stack Overflow
or by František Žiacik
Published on 2010-05-17T22:22:01Z
Indexed on
2010/05/18
10:00 UTC
Read the original article
Hit count: 310
Hi,
how should I handle an exception that occurs after sending a Content-Disposition header for an attachment? I'm trying to generate a report at server and send it as a file, but if an exception occurs during the report generation, the error message itself is sent to browser which still takes it as a content of a file and shows a Save As dialog. User cannot know there was an error generating report, saves the file which is in wrong format now.
Is there a way to cancel the response with this header and redirect to an error page? Or what else can I do to inform user about the error?
Probably I could generate the report first and only if there was no error send the headers, but I want the report render directly to the Response output stream so that it does not need to stay in memory.
Here is my code:
this.Response.ContentType = "application/octet-stream";
this.Response.AddHeader("Content-Disposition", @"attachment; filename=""" + item.Name + @"""");
this.Response.Flush();
GenerateReportTo(this.Response.OutputStream); // Exception occurs
Thanks for any suggestions
© Stack Overflow or respective owner