无法在Internet Explorer中打开动态PDF文件

无法在Internet Explorer中打开动态PDF文件,pdf,asp-classic,Pdf,Asp Classic,我上传并保存SQL中的PDF。然后人们可以在网络浏览器(IE)中打开该PDF。今天我更新了Acrobat Reader,我无法在web浏览器中打开相同的PDF。我可以将它保存到桌面,然后打开它。对话框中并没有[打开]按钮,它表示文件可能已损坏 姓名:admin.pdf 类型:Adobe Acrobat文档,37,8 KB 发件人:domain.com * 动态生成的PDF链接如下所示: 我在Adobe和Microsoft网站上都做了所有的解决方案。我无法在IE8中直接打开PDF文件 我的前AS

我上传并保存SQL中的PDF。然后人们可以在网络浏览器(IE)中打开该PDF。今天我更新了Acrobat Reader,我无法在web浏览器中打开相同的PDF。我可以将它保存到桌面,然后打开它。对话框中并没有[打开]按钮,它表示文件可能已损坏

姓名:admin.pdf

类型:Adobe Acrobat文档,37,8 KB

发件人:domain.com

*

动态生成的PDF链接如下所示:

我在Adobe和Microsoft网站上都做了所有的解决方案。我无法在IE8中直接打开PDF文件

我的前ASP代码是:

    Response.ContentType = rsFile("filetype")
    Response.BinaryWrite rsFile("filedata")
然后我将其更改为PDF格式的可下载文件,现在我至少可以在外部Acrobat Reader中下载并打开它(对话框显示[打开][下载][取消]按钮):


您无法在浏览器中打开PDF的原因是,新安装的Adobe Reader未注册为IE插件。可能需要先删除旧插件

如果特定版本的Adobe Reader未打开PDF,则该PDF可能已损坏。确保ASP代码紧密打包,并且不会错误地在浏览器中写入空格或换行符。记得打电话回应。最后刷新

如果添加附件标题,则会显示文件保存对话框,PDF插件将无法在浏览器中捕获PDF


您的浏览器也可能正在从缓存加载PDF的旧的损坏副本。清空IE缓存(Internet临时文件)。

我今天偶然发现了同样的问题,并找到了解决方案

我们还有一个站点,提供存储在SQL数据库中的PDF。当aspx页面尝试提供pdf时,它会显示与您描述的完全相同的对话框。它只影响IE8(这里没有人可以测试其他版本的IE);Chrome、Firefox和Safari的最新版本都在浏览器中加载了PDF,没有任何意外

因此,在我找到你的问题后,我又挖掘了一些,发现了以下内容:

从AdobeReader9.4.2开始,就引入了一个与字符集相关的bug,这样,如果内容类型有一个字符集值,adobe最终将查找一个不存在的注册表项

我按照jspraul在回答17中的建议做了,并补充道:

Response.Charset=null


和您一样,我只是简单地将我的内容类型设置为application/pdf,但由于我的Response.Charset默认值为UTF-8,adobe正在查找与UTF-8相关的注册表项,但未能找到它。希望adobe能在某个时候对此进行修补,但这会在过渡期间解决您的问题。

2台不同的计算机无法打开嵌入的pdf文件。我们都尝试过重新安装/修复/卸载/重新启动等。我们可以保存相同的PDF文件,然后打开它,所以文件损坏并不重要。有人警告我他不能打开嵌入的pdf文件。第一次我可以。然后我的Acrobat阅读器已经更新。我的下一次尝试失败了。在AcrobatReader&IE8设置中,打开嵌入的PDF似乎一切正常。有人可以验证并提供打开PDF的链接,所以我检查了我的浏览器和阅读器吗?现在我验证了Chrome可以打开与embedded相同的PDF。我不知道是AcrobatReader插件还是Chrome的内部PDF查看器。HTML消息来源称Chrome生成一个HTML页面并嵌入PDF…上面管理的重复问题上可能存在的解决方案的重复实际上通过将缓存控制设置为max age=1而不是无缓存为我解决了问题
 Response.Buffer = TRUE
    'Response.ContentType = "application/pdf"
    Response.ContentType = rsFile("filetype")
    Response.AddHeader "Content-Disposition", "attachment; filename=" & filename & ".pdf"       
    Response.BinaryWrite rsFile("filedata")