为什么我得到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."}
因此回来的错误是什么在这里?有任何想法吗?
答
你检查,如果你指定的文件夹具有读/写权限IUSR/IIS? 我会把一个断点,并调试正是这条线:
pdf.Save(Server.MapPath("~/Dumps/") + filename);
你有没有得到这条底线?我遇到了同样的问题。 –