C# httpHandler内容长度太短?
我正试图通过C# httpHandler内容长度太短?,c#,asp.net,.net,vb.net,C#,Asp.net,.net,Vb.net,我正试图通过httpHandler下载PDF文件,但出于某种原因,我的httpHandler返回的内容长度大小不正确 如果我把这段代码放到一个普通的aspx页面中,它就会工作,所以我只能猜测httpHandlers 下面是代码(在c#和vb.net中),我返回一个额外的my length头,以查看mylData数组的长度 当我在chrome中执行此操作时,content-length属性是842710,但我的长度是845942 为什么它们不同?我甚至尝试手动设置内容长度,但那没有任何作用 有什么
httpHandler
下载PDF文件,但出于某种原因,我的httpHandler
返回的内容长度大小不正确
如果我把这段代码放到一个普通的aspx页面中,它就会工作,所以我只能猜测httpHandlers
下面是代码(在c#和vb.net中),我返回一个额外的my length头,以查看mylData
数组的长度
当我在chrome中执行此操作时,content-length属性是842710,但我的长度是845942
为什么它们不同?我甚至尝试手动设置内容长度,但那没有任何作用
有什么帮助吗
C#
VB.NET
Dim lData() As Byte = lDocument.GetData()
context.Response.Clear()
context.Response.ClearContent()
context.Response.ClearHeaders()
' headers for response
context.Response.AddHeader("My-Length", lData.Length)
context.Response.AddHeader("Content-Type", "application/pdf")
context.Response.AddHeader("Content-Disposition", "attachment; filename="""MyFile.PDF"""")
context.Response.OutputStream.Write(lData, 0, lData.Length)
context.Response.End()
尝试放置响应。在响应之前刷新。结束。溪流有时会很诡异
context.Response.OutputStream.Write(lData, 0, lData.Length);
context.Response.Flush();
context.Response.End();
使用Fiddler检查响应。使用十六进制窗口查找意外发送的其他数据。也许垃圾被附加了。看看这个。。。weord认为,较大的文件有效,处理程序下载的较小文件无效
context.Response.OutputStream.Write(lData, 0, lData.Length);
context.Response.Flush();
context.Response.End();