在webmail中发送嵌入图像

时间:2013-09-18 07:33:24

标签: asp.net-mvc-4

我有一个有效的网络邮件,我想发送一个嵌入的图像。

 LinkedResource imagelink = new LinkedResource(Server.MapPath(".") + @"..\Content\img\GladSmiley.png", "image/png");

当我使用上面的代码时,它将搜索位于\ projectname \ content \ img文件夹中的图像的mappath。但是mappath方法正在\ projectname \ home \ content \ img中寻找img,所以由于某种原因它将home文件夹添加到mappath:S有没有办法解决这个问题?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

请改为尝试:

LinkedResource imagelink = new LinkedResource(HostingEnvironment.MapPath("~/Content/img/GladSmiley.png"), "image/png");

相关位是你找到这样的目录/文件:

HostingEnvironment.MapPath("~/Content/img/GladSmiley.png")

如果需要,您也可以使用完全相同语法的Server.MapPath,但是您需要一个HttpContext(您可能拥有它),但为了使其始终有效,请使用{{1} })。

HostingEnvironment.MapPath

如果您有兴趣,请参阅此讨论以获取更多信息:What is the difference between Server.MapPath and HostingEnvironment.MapPath?