gpt4 book ai didi

asp.net-mvc - 如何将 FileContentResult 写入磁盘?

转载 作者:行者123 更新时间:2023-12-02 01:14:36 26 4
gpt4 key购买 nike

我正在尝试使用 Rotativa用于在 Web 服务器磁盘上永久存储(而不是显示)发票副本的组件。两个问题:

  1. 为什么我需要指定 Controller 操作? (“索引”,在此案例)
  2. 如何将 FileContentResult 写入本地磁盘而不需要显示它?

谢谢。

这是我的代码:

    [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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com