我希望能够使用 .NET Identity 从我的 C#.NET MVC 应用程序中的操作呈现 PDF。
但是,我要呈现的 Action 需要对用户进行身份验证,并且 HiQPdf 不按原样尊重 cookie。
我怎样才能做到这一点?
我希望能够使用 .NET Identity 从我的 C#.NET MVC 应用程序中的操作呈现 PDF。
但是,我要呈现的 Action 需要对用户进行身份验证,并且 HiQPdf 不按原样尊重 cookie。
我怎样才能做到这一点?
您需要将 cookie 传递给 pdf 生成器,其余的应该可以工作:
public ActionResult DownloadPdf(int? id)
{
var fullUrl = Url.Action("Details", "MyController", new { id }, Request.Url.Scheme);
var pdf = new HtmlToPdf();
string fileName = "Some name.pdf";
var cookies = Request.Cookies.AllKeys.ToDictionary(k => k, k => Request.Cookies[k].Value);
foreach(var cookie in cookies)
pdf.HttpCookies.AddCookie(cookie.Key,cookie.Value);
return File(pdf.ConvertUrlToMemory(fullUrl), System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}