报告系统包含网页上的可用报告列表。当用户点击报告时,新的浏览器窗口打开,服务器开始准备报告(winword文档),然后在2-10秒后将其发回。
处理程序中的代码如下所示:
context.Response.AddHeader("Content-Disposition",
"attachment;filename=report.doc");
context.Response.BinaryWrite(reportDocument);
我想在这个新窗口中显示“请稍候”。是否可以立即准备html内容(“请稍候”)将其发回,然后继续进行耗时的报告准备而不是关闭连接?
如果每个http请求无法返回多种内容类型,您有什么建议?
提前谢谢!
答案 0 :(得分:2)
一个HttpResponse只能有单独的MIME类型。您可以弹出另一个窗口,该窗口又可以调用服务器,该服务器将使用winword报告文档进行响应。
答案 1 :(得分:1)
您可以创建一个带有重定向到二进制内容的html加载页面。
可以使用元重定向
完成重定向<meta http-equiv="refresh" content="0;url=http://example.com/" />
的更多信息
答案 2 :(得分:1)
每个响应都不能发送2种类型的内容。您可以做的是呈现“请稍候”页面,其中包含对二进制内容的请求(如iframe)。