c#从Web服务发送pdf文件

时间:2013-07-31 19:53:00

标签: web-services c#-4.0 webservice-client

我是C#的新手,我有一个Web服务,它生成一个包含条形码的pdf文件(使用datamatrix)。我想将此pdf文件作为byte []

发送到客户端

网络服务合同如下:

[WebInvoke(Method="GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare ,UriTemplate = "/mymethod?param1={param1}&param2={param2}")]

byte[] mymethod(string param1, string param2)

在客户端,我将响应读入内存流,然后将其转换为数组并将其写入文件。

MemoryStream ms = new MemoryStream();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.GetResponse().GetResponseStream().CopyTo(ms);
byte[] responseBytes = ms.ToArray();
HttpContext.Current.Response.OutputStream.Write(responseBytes, 0, responseBytes.Length);

写入文件的数据类似于[37,80,25,....],这是从Web服务发送的实际字节[]。

我在这里经历了很多答案,但无法弄清楚如何在客户端获取实际字节数。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我自己想出了答案。

我在服务器端使用了一个内存流,并将字节[]加载到其中。

在客户端,我读取内存流并获取存储在其中的byte []。