2012-10-30 135 views
3

我想弄清楚如何从一个典型Web站点前端的Web服务中传输文件(通常是PDF)。这些PDF并非物理存在,而是由报告生成器(如水晶,Telerik报告等)实时创建(请考虑Crystal,Telerik Reporting等)从WCF服务流式传输文件

我可以直接从网站做到这一点,通过执行Response.Clear(),然后设置ContentType并添加适当的Content-Disposition表头,最后跟着一个Response.BinaryWrite(...)

但是,WCF服务(本例中托管的IIS)没有Response对象。我试过从我的网页传入Response作为参数,但我甚至无法启动WCF服务,因为HttpResponse无法序列化。

我吠叫错了树吗?有没有更好的方法来看待这个?我们希望在一个通用的Web服务中使用它,因为我们的更多网站需要这样做,而且我们不希望维护代码的多个副本来执行此操作。

回答

0

您可以将您的文件作为byte []数组发送。

或者您也可以发送该文件作为流参数(使用流式传输模式)

+0

是的,但是流它_what_?我没有包含要使用的流的Response对象。对不起,如果我在这里失踪的东西。 – Jim