ASP.NET Core 2.0 Return stream

  • I have worked with the samples from the video and all are working fine. I now want to return a stream's my code based on the way I think it should work. Unfortunately I get an exception. JsReportBinaryException: Error rendering report: rendering has finished with errors:
    Here's my code in my Controller( I've taken my example from the video and it's a simple test instead of using File.Create I am returning a stream)

        public async Task<IActionResult> ReportContentReturnAsync()
            var rs = new LocalReporting().UseBinary(JsReportBinary.GetBinary()).AsUtility().Create();
            var report = await rs.RenderAsync(new RenderRequest()
                Template = new Template()
                    Recipe = Recipe.PhantomPdf,
                    Engine = Engine.None,
                    Content = "Hello from pdf"
            var memoryStream = new MemoryStream();
            await report.Content.CopyToAsync(memoryStream);
            memoryStream.Seek(0, SeekOrigin.Begin);
            return new FileStreamResult(memoryStream, "application/pdf") { FileDownloadName = "out.pdf" };

  • Try to remove the [MiddlewareFilter(typeof(JsReportPipeline))]. That line instructs the core integration to run the report rendering based on the output of the action. That is what you don't want here.

  • Yes removing the MiddlewareFilter fixed this issue. I just wanted to say thank you for producing such a great product!

  • Great. You are welcome!

Log in to reply

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.