我正在尝试使用 C# 在 ASP MVC 中下载 pdf 文件。
我有一个 UI 对话框,其中有一个按钮调用控制器:
"Download PDF": function () {
$.post(Urls.Action.DownloadPDF);
在控制器中,我使用 PDF 转换器将 html 转换为 PDF:
public ActionResult DownloadPDF()
{
string htmlToConvert = RenderViewAsString("~/Content/Eula.htm");
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlToConvert,null);
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=Download.pdf");
FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf");
fileResult.FileDownloadName = "Download.pdf";
return fileResult;
}
代码在调试器中毫无问题地运行该方法,并且帖子返回成功,但浏览器未下载 PDF。
编辑 -
核心价值 响应 HTTP/1.1 200 OK Cache-Control private, s-maxage=0,private,no-store,no-cache,s-maxage=0,max-age=0,must-revalidate,proxy-revalidate,no-transform 杂注无缓存 内容类型应用程序/pdf 过期 -1 服务器 Microsoft-IIS/7.5 设置Cookie 脸书;路径=/; HttpOnly X-AspNetMvc-版本 3.0 内容处置附件;文件名=下载.pdf 内容处置附件;文件名=下载.pdf X-AspNet-版本 4.0.30319 X-Powered-由 ASP.NET X-Content-Type-Options nosniff X-XSS-保护1;模式=块 X-UA 兼容 IE=edge,chrome=1 日期 2013 年 6 月 7 日星期五 03:31:34 GMT 内容长度 81862