3

我想将 PDF 流式传输到新的浏览器实例。我目前有这个

Response.ContentType = "application/pdf"
Response.AddHeader("Content-Disposition", "inline; filename=""" & Path.GetFileName(pdfFile) & """")
Response.AddHeader("Content-Length", stream.Length)
Response.BinaryWrite(stream.ToArray())
Response.Flush()

但这会接管我现有的窗口并将我从页面中导航出来。我想生成一个新选项卡或窗口并在那里显示 PDF。

有谁知道如何做到这一点?

4

2 回答 2

3

您可能需要考虑<a>target 属性。您可以使用它在新窗口中打开 PDF,可能使用类似:

<a href="GeneratePdf.ashx?somekey=10" target="_blank">

更新-正如您现在所说,您不介意它是否在浏览器窗口中,我首选的技术是根据 MercerTraiste 的回答将内容配置更改为附件。

如果您使用的是 ASP.NET,那么考虑编写一个自定义 HttpHandler 来为您流式传输 PDF 绝对是一个好主意。

于 2009-07-10T21:54:54.577 回答
3

您可以强制下载,这可以解决您的问题:

Response.AddHeader("Content-Disposition", "attachment;filename""" & Path.GetFileName(pdfFile) & """")
于 2009-07-10T21:55:27.990 回答