Как скрыть crystal report в bmp и отправить ответ в web API с помощью ASP.NET с#
Я разработал веб-API в ASP.NET C#, создайте Crystal Report и преобразуйте его в pdf-поток и отправьте в ответ по httpResponseMessage, но я хочу, чтобы он преобразовал crystal report в формат изображения bmp и отправил клиенту в ответ.
Я хочу преобразовать поток crystal report в формат изображения bmp и отправить в ответ
опция: сохраните изображение на сервере и отправьте путь к изображению в ответ api.
Я хочу этого без использования какой-либо сторонней библиотеки
Что я уже пробовал:
//Привязка отчета Crystal по списку<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);
// И отправка в ответ по
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; }
//В ответе API я получаю
"Content": { "Headers": [ { "Key": "Content-Disposition", "Value": [ "attachment; filename=invoice.pdf" ] }, { "Key": "Content-Type", "Value": [ "application/octet-stream" ] } ] },
F-ES Sitecore
Я бы начал с того, что погуглил "конвертировать pdf-файл в изображение c#"
Maciej Los
Почему? В каком аспекте растровое изображение лучше pdf-файла?
Sarim Mughal
Мой API-клиент имеет приложение android POS на устройстве Z90, и устройство позволяет печатать только растровые png и jpg. мое требование состоит в том, чтобы отправить bitmap при успешном сохранении в API.
Maciej Los
ОК. Спасибо за объяснение.