报告系统在网页上具有可用报告列表。当用户单击报告时,新的浏览器窗口打开,服务器开始准备报告(winword文档),然后在2-10秒后将其发回。
处理程序中的代码如下所示:
context.Response.AddHeader("Content-Disposition",
"attachment;filename=report.doc");
context.Response.BinaryWrite(reportDocument);
我想在这个新窗口中显示“请稍候”。是否可以立即准备html内容(“请稍等”),然后将其发回,然后继续耗时的报告准备,而不是关闭连接?
如果不可能在一个http请求中返回多个内容类型,您有什么建议?
提前谢谢你!
发布于 2010-07-31 18:57:12
One HttpResponse只能有单一MIME类型。您可以弹出另一个窗口,该窗口可以调用服务器,服务器将以winword报告文档进行响应。
发布于 2010-07-31 18:57:45
您可以创建一个重定向到二进制内容的html加载页面。
重定向可以使用元重定向来完成
<meta http-equiv="refresh" content="0;url=http://example.com/" />
欲了解更多信息,请访问wikipedia
发布于 2010-07-31 18:58:10
您不能为每个响应发送两种类型的内容。你所能做的就是呈现一个“请等待”页面,其中包含一个对二进制内容的请求(就像一个iframe)。
https://stackoverflow.com/questions/3377769
复制相似问题