3

我正在使用 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);

提前致谢。

4

0 回答 0