【问题标题】:Chrome wants to save pdf as system.byte[]Chrome 想将 pdf 保存为 system.byte[]
【发布时间】:2015-03-29 22:23:56
【问题描述】:

使用 IE11 保存查看的 pdf 文档时,它会显示正确的文件名和扩展名,但 Chrome 将其显示为 System.Byte[]。将文件名更改为 MyFileName.pdf 并保存它可以工作,但不是理想的解决方案。

这是从数据库返回文档并将其显示在 vb.net webforms 弹出页面中的代码。

  strSQL = "SELECT PDF_Document FROM A_Documents WHERE Document_ID = " & vID
        Dim vDocument As Byte() = vService.ReturnScalarByte(strSQL, Session("HOAID"))
        Response.Clear()
        Response.AddHeader("Accept-Header", vDocument.Length.ToString())
        Response.AddHeader("Content-Disposition", "inline; filename=" & vDocument.ToString())
        Response.ContentType = ("application/pdf")
        Response.BinaryWrite(vDocument)

【问题讨论】:

  • vDocument.ToString() 会给你System.Byte[] 所以你实际上是在告诉浏览器文件名是System.Byte[] 所以chrome实际上是在做正确的事情。
  • 为什么它与IE和FF完美兼容?

标签: asp.net google-chrome pdf


【解决方案1】:

事实证明,Chrome 使用它自己的 pdf 查看器,效果不太好(尤其是在 iFRAME 弹出窗口中)。

在他们解决此问题之前,客户需要在地址栏中输入 chrome://plugins,禁用 Chrome PDF 查看器并启用 Adob​​e Reader。

除非有更好的答案,否则我会将其归结为 Chrome 中未修复的错误

【讨论】:

  • 虽然 Chrome 的 PDF 查看器通常是罪魁祸首,但在你的情况下不是,参见。穆萨的评论。
猜你喜欢
  • 2017-05-27
  • 1970-01-01
  • 2021-12-13
  • 2020-08-31
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 2018-08-22
  • 2015-08-11
相关资源
最近更新 更多