我有一个aspx页面与链接按钮,我想重定向时,点击到一个httpHandler与我想要显示的文件流。例如:链接显示了对我的处理程序的引用,在链接按钮的onclick事件中,我获得流并以某种方式将其传递给上下文,然后在ProcessRequest中显示流。我怎样才能将流传递到我的上下文,或者什么是最好的方式?谢谢!
前面已经提到过,因为响应是通过HttpContext.Response作为流公开的。输出流,如果你的源也是一个流,你可以简单地将一个流复制到另一个流:写PDF流到响应流。
该线程中的几个答案适用于ASP。. NET,"标准方法"就是其中之一,还有代码示例等等。
如果你的问题真的是关于"最佳方式",因为你没有提供太多关于你的环境的细节,最有趣的答案可能是它反过来包含一个链接到两个流实例之间的最佳复制方式。
其他需要考虑的事项:
- 内容类型应该是"application/pdf"
- "Content-Disposition"标题可以让你管理PDF是否应该在浏览器中"内联"显示,或者作为"附件"显示,从而触发下载。
- "Content-Disposition"也是在用户决定下载PDF时管理其文件名的地方。 记住关闭和处理你打开的所有流,要么显式地关闭,要么使用"using"模式。