我正在使用 Rotativa 从我创建的视图中生成 pdf。在本地这工作正常,pdf 存储在我的本地计算机上,然后电子邮件功能会附加并发送文件。但是当我在我们的服务器上发布它时,它基本上会在这部分中断:
var binary = pdf.BuildPdf(this.ControllerContext);
该网站需要很长时间才能加载,然后最后只是说
抱歉,处理您的请求时出现了一个错误。
我所做的测试是重定向到将在 pdf 中生成的实际视图,直到显示此错误。我认为问题在于该网站没有任何写入权限,但可以在所需文件夹中创建目录,直到上述部分。
我能做些什么来解决这个问题?
这是我这部分的完整代码部分:
string Switches = string.Format("--print-media-type --header-html {0} --footer-html {1}", Url.Action("Header", "Home", new { area = "" }, "http"), Url.Action("Footer", "Home", new { area = "" }, "http"));
var fileName = ReportName+objScor.Name+"_"+objScor.Surname + DateTime.Now.ToString("dd MMM yyyy HHmmss") + ".pdf";
var filePath =(@"C:\\PDFReport\\" + fileName);
if (!System.IO.File.Exists(@"C:\\PDFReport\\"))
{
Directory.CreateDirectory(@"C:\\PDFReport\\");
}
var pdf = new Rotativa.ViewAsPdf("Report", report)
{
FileName = fileName,
CustomSwitches = Switches
};
var binary = pdf.BuildPdf(this.ControllerContext);
提前致谢。