【发布时间】: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