Rotativa BuildPdf正在本地计算机上工作,但不在生产服务器上

时间:2015-01-02 15:55:23

标签: asp.net-mvc pdf-generation rotativa

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

提前致谢。

0 个答案:

没有答案