环境: IIS7 / IE / ASP.Net MVC / jQuery
场景:当用户点击网页中的提交按钮时,服务器会动态生成一个excel文件,然后将文件流发送回客户端浏览器,用户将看到文件打开/保存对话框。但页面保持不变。
为了在用户等待文件生成的同时增加抖动,我必须使用ajax提交请求,否则就没有办法(或者我没有找到任何方法)知道文件生成何时完成,并反过来隐藏这种抖动。
但是ajax不能接收文件流(或者可以吗?),所以我必须在ajax回调中提交另一个请求来获取实际的文件,在那里我可以首先隐藏跳动。
然而,由于获取文件的最终请求是由代码自动完成的(而不是用户点击),用户将看到阻止文件下载的黄色信息栏,这在IE中是一个非常愚蠢的功能,因为在用户右键单击黄色栏并允许下载后,他们必须再次生成文件!
你知道怎么做到这一点吗?
谢谢
发布于 2011-01-18 15:43:30
这里有一个建议:
请注意,在第1步中,您应该保持较短的过期时间,否则大量生成文件的人可能会很快填满您的内存。你也可以写磁盘,但是你需要一些清理方法,这可能会变得很棘手。
https://stackoverflow.com/questions/4719441
复制相似问题