【问题标题】:How to stream a PDF file as binary to the browser using .NET 2.0如何使用 .NET 2.0 将 PDF 文件作为二进制流传输到浏览器
【发布时间】:2010-09-10 05:51:22
【问题描述】:

我正在寻找一种使用 .NET 2.0(二进制)将 PDF 文件从我的服务器流式传输到浏览器的方法。

我正在尝试从服务器路径中获取现有的 PDF 文件并将其作为二进制文件推送到浏览器。

【问题讨论】:

  • 这与将 PDF 放到服务器上并通过 URL 提供服务有何不同?这是动态生成的 PDF 吗?
  • @spoon16,这种方法存在一些安全问题,因为任何人都可以从页面的视图源中看到 pdf url。由于这些是静态文件(.pdf、.htm...等),它们将由 IIS 直接提供给请求此 URL 的任何人,而无需检查他们是否已登录。

标签: .net


【解决方案1】:
  1. 设置内容类型Response.ContentType = "application/pdf"
  2. 设置 ContentDisposition,如果您想为文件指定一个新名称:Response.Headers.Add("Content-Disposition", "attachment: filename=file.pdf");
  3. 如 Kopp 先生所说,使用Response.OutputStream 编写内容。

第 2 步并非绝对必要,但如果您不希望浏览器尝试使用与您的 ASPX 文件相同的名称保存 PDF,这可能是一个好主意。

【讨论】:

    【解决方案2】:

    将二进制文件写入输出流Response.OutputStream。然后只需添加标题Content-Disposition 标题。

    【讨论】:

      【解决方案3】:
      【解决方案4】:

      您可以只设置一个处理程序或设置正确响应类型的页面并将 pdf 输出到响应输出缓冲区。

      【讨论】:

        猜你喜欢
        • 2013-04-18
        • 2015-05-17
        • 1970-01-01
        • 1970-01-01
        • 2013-04-18
        • 2016-02-11
        • 2015-04-21
        • 1970-01-01
        相关资源
        最近更新 更多