如何保存从WCF调用返回的byte []?

时间:2011-09-19 17:05:16

标签: asp.net web-applications .net-4.0

在我的网页背后的代码中,我调用了一个WCF服务。该服务返回表示文件的byte []。在后面的代码中,我有以下捕获字节的行。

byte[] bytes = client.GeneratePDFBytes(crObj);

问题是,现在我该怎么办呢?我希望系统提示用户打开/保存文件。如何添加此功能?我是服务和网络新手,所以它很可能很简单,但我忽略了它。

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

 Response.ContentType = "application/pdf";
 Response.BinaryWrite(bytes);

答案 1 :(得分:0)

不要挂断从WCF服务检索字节数组的事实。一旦将结果存储在字节数组中,您就会看到完全相同的写入磁盘的技术,就像从数据库中读取或从文件系统中读取一样。如果你把研究从WCF改为平坦的读/写字节,我想你会有更好的运气。这是来自SO的一个有一些好建议:

C# - How do I read and write a binary file?

编辑:我不知何故设法错过了这是ASP.NET ...抱歉,你必须写入响应并将内容类型设置为二进制,然后,其他答案提供了示例。