我有一個回傳 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
有人可以幫忙嗎
先感謝您
uj5u.com熱心網友回復:
通過添加 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"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/445721.html
標籤:C# pdf asp.net-mvc-3 模型视图控制器 框架
上一篇:如何異步/等待獲取回應?
