我正在嘗試嵌入 PDF 查看器以在網頁上顯示 PDF 檔案。當我運行此代碼時,它通常會像我想要的那樣顯示 PDF,但是當我重繪 時,一切都崩潰了(我收到一條訊息“無法加載 PDF 檔案”)。我實際得到的錯誤是“ObjectDisposedException:無法訪問關閉的流。”,所以它可能與流讀取有關,我不知道。
我不知道檔案的路徑,所以我只是通過 API 檢索檔案的 Stream(這很好用),因此 Stream 是我唯一可用的東西。
這是我迄今為止所做的。您建議添加/更改什么?
Files1Controller.cs:
public class Files1Controller : Controller
{
private IWebHostEnvironment hostingEnvironment;
// Data is in here (I retrieve data from API in another class)
private readonly DocumentData documentData;
public Files1Controller(IWebHostEnvironment hostingEnvironment, DocumentData documentData)
{
this.hostingEnvironment = hostingEnvironment;
this.documentData = documentData;
}
[HttpGet]
public IActionResult Index()
{
return View(documentData);
}
public IActionResult PdfViewerNewTab()
{
return File(documentData.PdfFileStream, "application/pdf");
}
}
}
索引.cshtml:
@model DocumentData
@{
Layout = null;
}
<embed id="embPDF" src="../Files1/[email protected]" style="width: 100%; height: 100%;" />
檔案資料:
public class DocumentData
{
public string Filename { get; set; } = "long_line_file_ORIGINAl.pdf";
public Stream PdfFileStream { get; set; }
}
uj5u.com熱心網友回復:
直接在方法 PdfViewerNewTab() 中通過 API 獲取檔案流解決了這個問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377370.html
標籤:C# 。网 asp.net-mvc pdf 文件流
上一篇:從HTML模板使用PDFSharp生成PDF并發送到瀏覽器
下一篇:在兩個日期之間過濾文本檔案
