VS2010 VB.NET ASP.NET
我有一个简单的站点,用户单击一个按钮,一个 pdf 文件显示在一个新的浏览器窗口中。
为此,一个按钮会在页面加载事件中使用以下代码启动一个新的浏览器窗口:
Response.Clear()
Response.ClearContent()
Response.ClearHeaders()
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
Response.Buffer = True
Response.ContentType = "application/pdf"
'Response.ContentType = "text/plain"
If Download_Flag Then
'force SaveAs (this is the download option)
Response.AppendHeader("Content-Disposition", "attachment; filename=" & "myfile" & ".pdf")
Else
'open in borwser
Response.AddHeader("Content-Disposition", "inline")
End If
Response.OutputStream.Write(PdfBuffer, 0, PdfBuffer.Length)
Response.OutputStream.Flush()
Response.OutputStream.Close()
Response.End()
PDFBuffer 是一个包含 pdf 文档的字节数组
此代码使用安装的任何 pdf 插件在浏览器(即 chrome、mozilla、safari?)中显示 pdf 文件。
如果 download_flag 为真,则 pdf 不会在查看器中打开,而是浏览器提示保存文件对话框
正如我所说,此代码适用于桌面浏览器,但不适用于 ipad 或 android 手机,也适用于其他设备。
该网站不支持移动设备,但我想如果需要它可以。
我知道苹果不允许下载,android可能无法打开额外的窗口,那么如何在这些设备上单击按钮打开pdf文件?我知道他 ipad 和 android 都可以打开 pdf 文件,我在其他网站上做过。