在asp.net上将流pdf传递给HttpHandler的最佳方法?

时间:2013-04-26 09:23:28

标签: c# asp.net stream httphandler

我有一个带链接按钮的aspx页面,我想在点击一个httpHandler时重定向我想要显示的文件流。 例如: 链接显示对我的处理程序的引用,在链接按钮的onclick事件中,我获取流并将其传递到上下文,然后在ProcessRequest中显示流。 我怎么能将流传递给我的上下文或者最好的方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:0)

之前已经提到过,因为响应是通过HttpContext.Response.OutputStream作为Stream公开的,如果你的源也是一个Stream,你可以简单地将一个流复制到另一个:Write PDF stream to response stream

该线程中的几个答案一般适用于ASP.NET,其中“标准方法”包括代码示例和所有。

如果您的问题确实是关于“最佳方式”,并且由于您没有提供有关您的环境的更多详细信息,那么最有趣的答案可能是包含指向Best way to copy between two Stream instances的链接。

需要考虑的其他事项:

  • ContentType应为“application / pdf”
  • “Content-Disposition”标题可以让您管理天气,或者不应该在浏览器中“内嵌”显示PDF,或者作为“附件”,从而导致下载触发。
  • “Content-Disposition”也是您管理PDF文件名的地方,因为用户决定下载它。
  • 请记住,明确地或使用“使用”模式关闭并处置您打开的所有流。