将 Word 文档作为附件附加 - 路径规范 ASP.NET MVC 3
Posted
技术标签:
【中文标题】将 Word 文档作为附件附加 - 路径规范 ASP.NET MVC 3【英文标题】:Attaching Word Document as an Attachment - Path Specification ASP.NET MVC 3 【发布时间】:2013-07-03 23:21:01 【问题描述】:我需要在电子邮件中附加一个 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));
;
看起来怎么样?我是否正确指定了路径?
谢谢
【问题讨论】:
我们怎么知道?它有效吗?如果没有,错误是什么? 我现在没有数据访问权限,所以我现在无法调试它。我要问的是我是否正确指定了路径。简单的问题,但我在 MSDN 上找不到任何示例。 我给你的唯一答案是:也许。这可能是一条合法路径,但我不知道它是否是正确的合法路径。 你应该再读一遍这个问题。解决方案中引用文件夹的正确方法只有一种 【参考方案1】:Attachment
需要一个绝对路径。
您可以使用
将虚拟路径转换为绝对路径var absolutePath = Server.MapPath("~/Attachments/worddocument.doc")
并附上
Attachments.Add(new Attachment(absolutePath, MediaTypeNames.Application.Octet));
如果要检查虚拟目录中的文件是否存在,使用
if (File.Exists(absolutePath))
...
【讨论】:
以上是关于将 Word 文档作为附件附加 - 路径规范 ASP.NET MVC 3的主要内容,如果未能解决你的问题,请参考以下文章