附加Word文档作为附件 - 路径规范ASP.NET MVC 3

时间:2013-07-05 19:46:52

标签: asp.net-mvc-3 mime email-attachments

我需要将word文档附加到电子邮件中。

该文档存储在解决方案中,名为“附件”

的文件夹中

问题

我想知道我需要使用哪条路径才能将Word文档附加到电子邮件中,并且想知道我是否正确附加了它。

以下是我的工作方式:

string fileName = "~/Attachments/worddocument.doc";
MailMessage mail = new MailMessage
    {
        Sender = new MailAddress(this.SenderAddress, this.SenderName),
        From = new MailAddress(this.FromAddress, this.FromName),
        ReplyToList = { new MailAddress(this.ReplyToAddress, this.ReplyToName) },
        IsBodyHtml = this.isBodyHtml,
        Subject = this.UserSubject,
        Attachments.Add(new Attachment(fileName, MediaTypeNames.Application.Octet));
     };

这看起来怎么样?我是否正确指定了路径?

由于

1 个答案:

答案 0 :(得分:1)

Attachment需要绝对路径。

您可以使用

将虚拟路径转换为绝对路径
var absolutePath = Server.MapPath("~/Attachments/worddocument.doc")

并附上

Attachments.Add(new Attachment(absolutePath, MediaTypeNames.Application.Octet));

如果要检查虚拟目录中的文件是否存在,请使用

if (File.Exists(absolutePath))
...