ASP.NET Response.BinaryWrite 文件下载被 SSL 阻止

标签 asp.net

我有一个页面,可以生成动态文件以供下载,并使用 Response.BinaryWrite 将其发送到客户端。

一切似乎都工作正常,除了当我们将其移动到带有 SSL 的测试服务器时。下载发生在一个新窗口中,我看到(在 IE7/8 中,但不是 chrome 或 FF)是选项卡打开,然后关闭,但没有显示文件对话框。

这是完整的标题写入:

Response.Clear()
        Response.Buffer = True
        Response.ContentType = "application/octet-stream"
        Response.AddHeader("Content-Length", abytFileData.Length.ToString)
        Response.AddHeader("cache-control", "private")
        Response.AddHeader("Expires", "0")
        Response.AddHeader("Pragma", "cache")
        Response.AddHeader("content-disposition", "attachment; filename=""" & pMsg!pstrFileName & """")
        Response.AddHeader("Accept-Ranges", "none")
        Response.BinaryWrite(abytFileData)
        Response.Flush()
        Response.End()

我确信我的问题就是上面提到的 here ,

但是我的缓存控制头是正确的。 有什么想法吗?

最佳答案

在这里查看答案:

C# BinaryWrite over SSL

本质上,替换:

Response.Clear();

与...

Response.ClearContent();
Response.ClearHeaders();

关于ASP.NET Response.BinaryWrite 文件下载被 SSL 阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1869987/

相关文章:

c# - 使用 C# 未从 Twilio 发送短信

c# - 加载页面时如何从底部开始滚动

c# - 全局覆盖 ASP.Net MVC 默认属性错误消息

asp.net - 计时器不在计时器滴答声中增加变量

c# - nHibernate QueryOver 以编程方式构建?

c# - JSON.NET DataContractJsonSerializer 和 Newtonsoft JSON 序列化程序有什么区别

c# - 找不到方法 : 'MyProject.MvcApplication.RegisterRoutes'

c# - 绑定(bind)到 SqlDataAdapter 后,ASP.NET GridView 宽度不会保持在 100%

c# - 是否可以将 web.config 中的位置授权节点设为外部?

ASP.NET Gridview - 存在什么属性来确定网格是否呈现?