我是C#的新手,我有一个Web服务,它生成一个包含条形码的pdf文件(使用datamatrix)。我想将此pdf文件作为byte []
发送到客户端网络服务合同如下:
[WebInvoke(Method="GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare ,UriTemplate = "/mymethod?param1={param1}¶m2={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服务发送的实际字节[]。
我在这里经历了很多答案,但无法弄清楚如何在客户端获取实际字节数。任何帮助将不胜感激。
答案 0 :(得分:0)
我自己想出了答案。
我在服务器端使用了一个内存流,并将字节[]加载到其中。
在客户端,我读取内存流并获取存储在其中的byte []。