On forcing download: File Download dialog opens twice in IE6 SP1
我的 ASP.Net 页面应该创建一个文档并强制下载(打开"文件下载"对话框)。它在大多数浏览器上都能正常工作,但由于某种原因,在 IE6 SP1 (windows 2000) 上,"文件下载"对话框会打开两次。
任何想法为什么?
我的非常简单的代码(C#):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | protected void bnCreateDocument_Click(object sender, EventArgs e) { string documentText = GetDocumentText(); Response.Clear(); Response.Charset =""; Response.ContentType ="application/msword"; string filename ="MyDoc.doc"; Response.AddHeader("Content-Disposition","attachment;filename=" + filename); Response.Write(documentText); Response.End(); Response.Flush(); } |
您的代码看起来不错,但我想我会指出一些奇怪的地方。
如果你只是从文件系统中获取一个文件到那个字符串中,为什么不直接使用
另外,如果缓冲打开,
在关闭 Response 对象时,有一些非常棘手且难以理解的错误需要处理。如果在处理完 Flush 和 End 调用后它仍然在发生,我会检查 Fiddler 发生了什么,也许尝试将此代码移动到 .ashx 处理程序中以使其脱离页面生命周期。