这里的问题是,在尝试下载具有html标记内容的excel文件时。系统需要很长时间才能下载。有时IE的保存对话框不会在请求下载时立即出现。
流程是这样的。这是一个遗留代码,所以我知道它看起来很愚蠢。
客户端请求生成excel文件->在服务器上创建excel文件从DB ->查询数据用HTML标记填充excel连同来自DB ->的数据使用HTTP将excel文件发送到客户端
现在问题来了。
这个问题并不总是发生,它是间歇性的。
有时IE的保存文件对话框不显示。有时需要6-10分钟才能显示出来。这是什么原因造成的。
下面是通过http发送文件的方式。
Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/vnd.ms-excel";
Response.WriteFile(file.FullName);
Response.End();
发布于 2014-01-15 11:19:10
这取决于你的excel文件的大小,如果文件很大,生成文件和下载文件需要时间,我建议你在通过HTTP将文件发送回客户端之前压缩文件。
发布于 2014-01-15 18:45:51
请尝试以下操作:
Response.AddHeader("Content-Disposition", "inline; filename=" + file.Name);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/vnd.ms-excel";
Response.WriteFile(file.FullName);
Response.End();
https://stackoverflow.com/questions/21128409
复制相似问题