为什么我得到500内部错误,没有发现异常?

为什么我得到500内部错误,没有发现异常?

问题描述:

控制器:为什么我得到500内部错误,没有发现异常?

[HttpPost] 
    public ActionResult HtmlToPdf (String html) 
    { 
     try 
     { 
      var filename = DateTime.Now.Ticks.ToString() + ".pdf"; 
      using (MemoryStream ms = new MemoryStream()) 
      { 
       var pdf = TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4); 
       pdf.Save(Server.MapPath("~/Dumps/") + filename); 
      } 
      return Json(new { filename = filename }); 
     } 
     catch (Exception e) 
     { 
      return Json(new { msg = e.Message }); 
     } 

    } 

AJAX:

$('#download-as-pdf').click(function() { 
    //var resultsHtml = $(this).closest('html').html(); 
    var resultsHtml = "<html><head></head><body><p>Hey there</p></body></html>"; 
    $.ajax({ 
     url: '/Answers/HtmlToPdf', 
     method: 'POST', 
     data: { html: resultsHtml }, 
     success: function (retobj) { 
      console.log(retobj); 
     }, 
     error: function (retobj) { 
      console.log("The error callback was called");//TEST 
     } 
    }); 

}) 

我知道控制器获取调用,因为如果我设置resultsHtml = undefined然后我从控制器

{msg: "Cannot save a PDF document with no pages."} 

因此回来的错误是什么在这里?有任何想法吗?

+0

你有没有得到这条底线?我遇到了同样的问题。 –

你检查,如果你指定的文件夹具有读/写权限IUSR/IIS? 我会把一个断点,并调试正是这条线:

pdf.Save(Server.MapPath("~/Dumps/") + filename); 

看来您要保存空的PDF,我认为这是你的问题,你的HTML参数必须有一些内容在下面的代码生成PDF:enter image description here