我正在开发一个vb.net Web应用程序。最近我遇到一个问题,1.5版本及更高版本的PDF文件无法通过浏览器查看/下载。当我单击链接查看PDF文件时,浏览器会提示“文件下载”消息框,当我选择打开PDF文件时,adobe reader会显示此错误“打开此文档时出错。文件是损坏,无法修复。“即使我选择“保存”到PC然后打开PDF文件,它仍然会显示相同的错误信息。
我用于查看附件的代码如下:
HTTPContext.Current.Response.ContentType = "APPLICATION/PDF"
HTTPContext.Current.Response.AppendHeader("Content-Disposition", "Attachment; Filename=XXX.pdf")
HttpContext.Current.Response.Flush()
HttpContext.Current.Response.WriteFile(System.IO.FileInfo(FILE_PATH).FullName)
HttpContext.Current.ApplicationInstance.CompleteRequest()
查看PDF版本1.4及更低版本时没有问题。 代码有问题吗?解决此问题的任何解决方案?
答案 0 :(得分:0)
这适用于任何文件类型:
Response.ContentType = "APPLICATION/OCTET-STREAM"
Dim Header As [String] = "Attachment; Filename=MyFile.PDF"
Response.AppendHeader("Content-Disposition", Header)
Response.BinaryWrite(MyFile.pdf)
Response.[End]()
相应调整。
注意:Adobe Reader在保护模式下存在问题,可以通过更改设置来解决。检查此链接: https://forums.adobe.com/thread/2208915