我正在使用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);
提前致谢。