加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-5 – 如何在服务器上保存Rotativa PDF

发布时间:2020-12-15 22:28:20 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Rotativa在我的“MVC”应用程序中生成PDF.如何保存Rotativa PDF?所有过程完成后,我需要将文档保存在服务器上. 代码如下: public ActionResult PRVRequestPdf(string refnum,string emid){ var prv = functions.getprvrequest(refnum,emid); retu
我正在使用Rotativa在我的“MVC”应用程序中生成PDF.如何保存Rotativa PDF?所有过程完成后,我需要将文档保存在服务器上.

代码如下:

public ActionResult PRVRequestPdf(string refnum,string emid)
{
    var prv = functions.getprvrequest(refnum,emid);            
    return View(prv);

}
public ActionResult PDFPRVRequest()
{
    var prv = Session["PRV"] as PRVRequestModel;
    byte[] pdfByteArray = Rotativa.WkhtmltopdfDriver.ConvertHtml("Rotativa","Approver","PRVRequestPdf");
    return new Rotativa.ViewAsPdf("PRVRequestPdf",new { refnum = prv.rheader.request.Referenceno });            

}

解决方法

你可以尝试一下
var actionResult = new ActionAsPdf("PRVRequestPdf",new { refnum = prv.rheader.request.Referenceno,emid = "Whatever this is" });
var byteArray = actionResult.BuildPdf(ControllerContext);
var fileStream = new FileStream(fullPath,FileMode.Create,FileAccess.Write);
fileStream.Write(byteArray,byteArray.Length);
fileStream.Close();

如果那样做不起作用,你可以按照答案here

只要确保你是这样做的,不要让PRVRequestPdf作为PDF视图返回,而不是像上面那样的普通视图(只提到我自己犯了很多乐趣).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读