如何显示流返回的pdf(在JsonResult中)

本文关键字:pdf JsonResult 何显示 显示 返回 | 更新日期: 2023-09-27 18:23:44

我有一个pdf,我通过GetTestReport操作以json结果的形式通过流返回:

return this.Json(pdfInBytes);

在我看来:

$.post('@Url.Action("GetTestReport", "Reports")', function(data) {
    // What have i put here?
});

如何在整个页面或特定的div中显示pdf?

如何显示流返回的pdf(在JsonResult中)

PDF不能嵌入到文档中,它本身就是一个文档,并且你不能将它放在JSON中。结果,你将把它的URL放在JSON。

然后,您仍然可以将其放置在iFrame中(它将是源src)。或者执行window.open('you_pdf_url.pdf');以在新选项卡中显示它。

Nabab是正确的,您无法将PDF转换为JSON。

您的操作"GetTestReport"应使用FileStreamResult:返回pdf本身

return new FileStreamResult(pdfMemoryStream, "application/pdf"); 

您没有指定控制器的名称,所以我们假设它被称为"home"。这意味着,如果您浏览到/Home/GetTestReport,您的pdf将被发送到客户端并显示在浏览器中。

那个网址就是你需要的!您可以在ViewModel中使用它,也可以使用JSON将它发送到浏览器。