无法将PDF嵌入ASP.NET MVC视图



我有一个返回PDF流的ASP.NET MVC应用程序。我正试图将该流嵌入到视图中。我在控制器中有此操作

[AuthorizeResultVisible]
public ActionResult GetPDFStream(int reportId)
{
byte[] pdfByteStream = GetReportBytes(reportId);
Response.Clear();
Response.AddHeader("Content-Disposition","inline; filename=sample.pdf");
Response.AddHeader("Content-Type","application/pdf");
Response.ClearHeaders();
Response.AddHeader("Content-Length", pdfByteStream.Length.ToString());
return new FileContentResult(pdfByteStream, "application/pdf");
}

在我看来,我正在尝试两者,对象标签和/或iframe标签

<object data="'<%= Url.Action("GetPDFStream", "ResultActions", new {reportId = Model.reportId }) %>" #zoom=150′ width = "100%" height="525" id="iFramePdf" frameBorder="1" type="application/pdf"/>
<iframe src="'<%= Url.Action("GetPDFStream", "ResultActions", new {reportId = Model.reportId }) %>"/>

然而,无论我做什么,嵌入的PDF都不会显示。相反,错误消息弹出,显示

HTTP错误404.0-找不到
您要查找的资源已被删除、名称已更改或暂时不可用。

然而,当我进入一个源时,我能够检索链接并确认链接是否有效。一旦我将链接粘贴到浏览器中,它就会显示PDF,但最初不会显示PDF

有人能帮吗

提前感谢

通过添加Request.Url.GetLeftPart(UriPartial.Authority(找到解决方案

<iframe src="**<%= Request.Url.GetLeftPart(UriPartial.Authority)** + Url.Action("GetPDFStream", "ResultActions", new {reportId = Model.reportId }) %>" #zoom=150′ width = "100%" height="525" id="iFramePdf" frameBorder="1" type="application/pdf"/>

最新更新