Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# httpHandler内容长度太短?_C#_Asp.net_.net_Vb.net - Fatal编程技术网

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();