我正在尝试使用 Rotativa 组件在 Web 服务器磁盘上永久存储(不显示)发票副本。两个问题:
案例)
显示它?
谢谢。
这是我的代码:
[HttpPost]
public ActionResult ValidationDone(FormCollection formCollection, int orderId, bool fromOrderDetails)
{
Order orderValidated = context.Orders.Single(no => no.orderID == orderId);
CommonUtils.SendInvoiceMail(orderValidated.customerID , orderValidated.orderID);
var filePath = Path.Combine(Server.MapPath("/Temp"), orderValidated.invoiceID + ".pdf");
var pdfResult = new ActionAsPdf("Index", new { name = orderValidated.invoiceID }) { FileName = filePath };
var binary = pdfResult.BuildPdf(ControllerContext);
FileContentResult fcr = File(binary, "application/pdf");
// how do I save 'fcr' on disk?
}
最佳答案
您不需要 FileContentResult 来创建文件。您已经获得了可以直接保存到磁盘的字节数组:
var binary = pdfResult.BuildPdf(ControllerContext);
System.IO.File.WriteAllBytes(@"c:\foobar.pdf", binary);
关于asp.net-mvc - 如何将 FileContentResult 写入磁盘?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24958959/