我应该如何处理发送附件的Content-Disposition标头后发生的异常?我正在尝试在服务器上生成报告并将其作为文件发送,但如果在报告生成期间发生异常,错误消息本身会发送到浏览器,浏览器仍将其作为文件内容并显示另存为对话。用户不知道有错误生成报告,现在保存格式错误的文件。
有没有办法取消带有此标头的响应并重定向到错误页面?或者我还能做些什么来通知用户该错误?
可能我可以先生成报告,并且只有在没有错误的情况下发送标题,但我希望报告直接呈现到响应输出流,这样它就不需要留在内存中。
这是我的代码:
this.Response.ContentType = "application/octet-stream";
this.Response.AddHeader("Content-Disposition", @"attachment; filename=""" + item.Name + @"""");
this.Response.Flush();
GenerateReportTo(this.Response.OutputStream); // Exception occurs
感谢您的任何建议