下载签名的pdf文件时遇到问题#
我有一个签名的pdf与Adobe签名做得很好。当我想下载此文档时,我的问题就开始了 通过webmethod,我获得签名文件的字节数。在这之前没有问题 如果我试图将文件保存在服务器中,当我打开文件时,一切都是正确的。但是如果我打开它时试图下载它,签名就错了 这是adobe reader中的错误: “签名数据的范围由一系列意外字节定义。 详细信息:签名的字节范围无效“ 这是我下载文件的方式:下载签名的pdf文件时遇到问题#,pdf,c#-4.0,signed,downloading-website-files,Pdf,C# 4.0,Signed,Downloading Website Files,我有一个签名的pdf与Adobe签名做得很好。当我想下载此文档时,我的问题就开始了 通过webmethod,我获得签名文件的字节数。在这之前没有问题 如果我试图将文件保存在服务器中,当我打开文件时,一切都是正确的。但是如果我打开它时试图下载它,签名就错了 这是adobe reader中的错误: “签名数据的范围由一系列意外字节定义。 详细信息:签名的字节范围无效“ 这是我下载文件的方式: HttpContext.Current.Response.ContentType = "applicatio
HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename= Factura.pdf");
HttpContext.Current.Response.AddHeader("Content-Length", newStream.Length.ToString());
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.BufferOutput = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.OutputStream.Write(newStream.GetBuffer(), 0, newStream.GetBuffer().Length);
HttpContext.Current.Response.OutputStream.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
有人能帮我解决这个问题吗?您发送的字节比标题中公布的字节多。执行
newStream.ToArray()
并仅使用字节数组。要检查的另一件事是,如果您确实拥有newStream
中的所有字节,请将其保存到要检查的文件中(从ToArray()
感谢您的回答,我更改了这一行:HttpContext.Current.Response.AddHeader(“内容长度”,newStream.Length.ToString())
对于另一个:HttpContext.Current.Response.AddHeader(“Content Length”,newStream.ToArray().Length.ToString());
和我有相同的问题。我可以检查newStream
是否拥有所有字节。因为我在下载文件之前保存了它,并且我可以完美地读取它