Как преобразовать Crystal Report в BMP и отправить в ответ в веб-API с помощью ASP.NET C # - PullRequest
0 голосов
/ 19 сентября 2019

Мой WEB API в ASP.NET C #, я создаю отчет Crystal Report, преобразую его в поток PDF и отправляю в Response с помощью httpResponseMessage, но хочу, чтобы он преобразовал отчет Crystal в формат BMP изображения и отправил клиенту в ответ API для печати.(только для устройств печати поддерживается bmp, png, jpg).

Кристаллический отчет в формате API

//List<Model> Rlist
var rd = new ReportDocument();
                    rd.Load(Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath("~/Reports"), "Report.rpt"));
rd.SetDataSource(Rlist);
Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat);
MemoryStream ms = new MemoryStream();
stream.CopyTo(ms);

Отправка ответа от API клиенту

public HttpResponseMessage Generate(MemoryStream ms)
       {
           var result = new HttpResponseMessage(HttpStatusCode.OK){
               Content = new ByteArrayContent(ms.ToArray())
                   };
           result.Content.Headers.ContentDisposition =
               new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment") {
               FileName = "Report.pdf"};
           result.Content.Headers.ContentType =
               new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
           return result;
       }
...