在我的方法在控制器中我使用下面的代码来保存pdf。保存PDF文件在ASP中的下载文件夹中MVC
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlContent);
HtmlNode node = doc.GetElementbyId("DetailsToPDF");
HtmlToPdfConverter htmlToPdf = new HtmlToPdfConverter();
var pdfBytes = htmlToPdf.GeneratePdf("<html><body>" + node.InnerHtml + "</body></html>");
Response.ContentType = "application/pdf";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=TEST.pdf");
Response.BinaryWrite(pdfBytes);
Response.Flush();
Response.End();
在调试器中没有任何异常情况下,所有内容都已通过。但是文件没有保存。我究竟做错了什么?
这实际上不保存文件。它只会要求您的浏览器处理该文件。根据浏览器的配置方式,它可能会保存它,它可能会显示它 –
浏览器(Chrome)没有显示任何内容。我应该在哪里配置它? – maciejka
实际上你正在使用'BinaryWrite'将文件内容写入HTTP响应,它不会返回任何要下载的文件。尝试返回'FileResult' /'FileContentResult',它显示选项以在浏览器中打开或下载文件。 –