读取PDF文档作为while的一部分,指定要呈现的PDF

时间:2016-06-13 11:54:33

标签: c# asp.net-mvc pdf

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方法?

有更好的方法吗?

2 个答案:

答案 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 })