c # отправить файл PDF из веб-службы

Я новичок в C #, и у меня есть веб-сервис, который генерирует файл PDF, содержащий штрих-код (с использованием datamatrix). Я хочу отправить этот PDF-файл клиенту в виде байта []

Контракт веб-службы выглядит следующим образом:

[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, ....], что является фактическим байтом [], отправленным веб-службой.

Я просмотрел здесь много ответов, но не мог понять, как получить фактические байты на стороне клиента. Любая помощь будет принята с благодарностью.


person Darknight    schedule 31.07.2013    source источник


Ответы (1)


Я сам придумал ответ.

Я использовал поток памяти на стороне сервера и загрузил в него byte [].

На стороне клиента я читаю поток памяти и получаю хранящийся в нем byte [].

person Darknight    schedule 23.08.2013