2013-07-31 25 views
1

我是C#的新手,我有一個web服務生成一個包含條形碼的pdf文件(使用datamatrix)。我想此PDF文件發送到客戶端作爲一個byte []c#發送來自web服務的pdf文件

Web服務合同如下:

[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服務發送。

我在這裏經歷了許多答案,但無法弄清楚如何獲得客戶端的實際字節。任何幫助將不勝感激。

回答

0

我自己想出了答案。

我在服務器端使用了一個內存流,並在其中加載了byte []。

在客戶端,我讀取內存流並獲取存儲在其中的字節[]。