在我的方法在控制器中我使用下面的代碼來保存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',它顯示選項以在瀏覽器中打開或下載文件。 –