Expanding on this question,我正在努力弄清楚如何指定我正在阅读的PDF文件。
我用WkHtmlToPdf
创建PDF,生成PDF文件。然后我将PDF字节保存到我的数据库中,我想再次将其读出来在View上显示:
public void GetPDF(int id)
{
// get the byte array for the PDF out of the database
var Pdf = db.Invoices.FirstOrDefault(x => x.Id == id).Document;
//FileStream Stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
//return File(Stream, "application/pdf");
// this code reads from a file but I need to read the byte array
// back out so that it displays as a PDF
}
在我的观点中,我按照链接问题中的答案执行此操作:
<object data='@Url.Action("GetPDF")'></object>
如何将Invoice ID参数传入GetPDF
方法?
有更好的方法吗?
答案 0 :(得分:2)
@Url.Action("GetPDF", new { id = 1 })
答案 1 :(得分:2)
以下是如何读取字节数组以使其显示为PDF
public ActionResult GetPDF(int id) {
// get the byte array for the PDF out of the database
var Pdf = db.Invoices.FirstOrDefault(x => x.Id == id).Document;
// return Pdf content
return File(Pdf, "application/pdf");
}
Controller.File 有一个重载方法,可以返回byte[]
个文件内容。因此,返回将字节数组传递给该方法的结果。
@RosdiKasim已经向您展示了如何使用视图中的id调用操作
@Url.Action("GetPDF", new { id = 1 })