如何使用.net mvc 5发送文件夹中已保存的pdf

如何使用.net mvc 5发送文件夹中已保存的pdf,pdf,asp.net-mvc-5,email-attachments,rotativa,Pdf,Asp.net Mvc 5,Email Attachments,Rotativa,我正在使用Rotativa。MVC从视图生成PDF,这样我就可以将PDF作为附件发送电子邮件。以下代码执行此操作: var p = ControllerContext; var h = new ViewAsPdf("Index") { FileName = "TestViewAsPdfHm.pdf" }; var hmm = h.BuildPdf(p); var memStream2 = new SysIO.MemoryStream(hmm); MailMessage mm = new Ma

我正在使用Rotativa。MVC从视图生成PDF,这样我就可以将PDF作为附件发送电子邮件。以下代码执行此操作:

var p = ControllerContext;
var h = new ViewAsPdf("Index") { FileName = "TestViewAsPdfHm.pdf" }; 
var hmm = h.BuildPdf(p); 
var memStream2 = new SysIO.MemoryStream(hmm);
MailMessage mm = new MailMessage("From@gmail.com", "To@gmail.com");
mm.IsBodyHtml = true;
mm.Attachments.Add(new Attachment(memStream2, "BuildPdfOption.pdf"));
我的问题是“如何从c#code中获取保存在MVC应用程序的Content/PDF文件夹中的PDF文件,以便以相同的方式将其附加到电子邮件?” 我曾多次尝试使用文件、流读取器和HttpContext.Server.MapPath,但都没有成功。使用MapPath选项时,电子邮件中有一个文本文档,我无法打开

Server.MapPath(“~/Content/Pdf/yourFileName.Pdf”)
?是的,“内容类型”有帮助,谢谢。只需添加代码:ContentType myType=newcontenttype{MediaType=MediaTypeNames.Application.Pdf,Name=“MyFileName”};添加(新附件(“文件名”,myType));