我有一个 ASP.NET 页面,我在其中生成一个 Excel 电子表格并在响应中发送它(内容处置标头)。那部分效果很好,但是我有一个永远不会重新启用的按钮,因为原始页面不是响应的一部分。
这是我正在使用的功能:
Public Shared Sub WriteToResponse(ByVal theWorkBook As Workbook, ByVal FileName As String, ByVal resp As HttpResponse)
Dim theStream As New System.IO.MemoryStream()
theWorkBook.Save(theStream)
Dim byteArr As Byte() = DirectCast(Array.CreateInstance(GetType(Byte), theStream.Length), Byte())
theStream.Position = 0
theStream.Read(byteArr, 0, CInt(theStream.Length))
theStream.Close()
resp.Clear()
resp.AddHeader("content-disposition", "attachment; filename=" & FileName)
resp.BinaryWrite(byteArr)
resp.End()
End Sub
我尝试不清除响应并使用 AppendHeader 而不是 AddHeader,但响应仍然只包含文件。
我错过了什么?我需要使用不同的标题吗?我在 ASP.NET 论坛上发现了这个悬而未决的问题;听起来像我的问题。