我有一个小的 asp.net 应用程序,它允许用户上传附件,并通过一个 asp:linkbutton 从另一个屏幕下载它们。在 IE10 中,当我单击链接按钮下载上传的文件时,IR 显示打开、保存、取消对话框,但它显示 URL 代替文件名。在 safari 和 firefox 中,这不会发生。它快把我逼疯了。我已经尝试了所有类型的标题/内容类型、内容配置组合,但都没有成功。下面是我在 firefox 和 safari 中工作的代码片段——它只是将二进制文件写入响应。
Dim bytes() As Byte = CType(dt.Rows(0)("UploadedFiles"), Byte())
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
Response.AddHeader("Content-Disposition", "attachment;filename=" & Chr(34) &
dt.Rows(0) ("FileName").ToString & Chr(34))
Response.Buffer = True
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ContentType = dt.Rows(0)("ContentType").ToString()
Response.BinaryWrite(bytes)
Response.Flush()
Response.Close()
Response.End()