public HttpResponseMessage GetReport(string displayReportName, ReportDispositonTypes reportDispositonType = ReportDispositonTypes.Attachment) { if (string.IsNullOrEmpty(displayReportName)) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } var cachedReport = HttpContext.Current.Session[SessionReport] as byte[]; if (cachedReport == null) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } var mimeType = MimeMapping.GetMimeMapping(displayReportName); var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(new MemoryStream(cachedReport)) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(reportDispositonType == ReportDispositonTypes.Attachment ? "attachment" : "inline") { FileName = HttpUtility.UrlEncode(displayReportName, System.Text.Encoding.UTF8) }; response.Content.Headers.ContentType = new MediaTypeHeaderValue(mimeType); return(response); }
public HttpResponseMessage GetReport(string displayReportName, ReportDispositonTypes reportDispositonType = ReportDispositonTypes.Attachment) { if (string.IsNullOrEmpty(displayReportName)) return Request.CreateResponse(HttpStatusCode.BadRequest); var cachedReport = HttpContext.Current.Session[SessionReport] as byte[]; if (cachedReport == null) return Request.CreateResponse(HttpStatusCode.BadRequest); var mimeType = MimeMapping.GetMimeMapping(displayReportName); var response = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(new MemoryStream(cachedReport)) }; response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue(reportDispositonType == ReportDispositonTypes.Attachment ? "attachment" : "inline") { FileName = displayReportName }; response.Content.Headers.ContentType = new MediaTypeHeaderValue(mimeType); return response; }