Asp.net mvc 4 在webmail中发送嵌入图像
我收到一封正在工作的网络邮件,我想发送一张嵌入的图像Asp.net mvc 4 在webmail中发送嵌入图像,asp.net-mvc-4,Asp.net Mvc 4,我收到一封正在工作的网络邮件,我想发送一张嵌入的图像 LinkedResource imagelink = new LinkedResource(Server.MapPath(".") + @"..\Content\img\GladSmiley.png", "image/png"); 当我使用上面的代码时,它将搜索位于\projectname\content\img文件夹中的图像的映射路径。但是mappath方法正在\projectname\home\content\img中查找img,因此
LinkedResource imagelink = new LinkedResource(Server.MapPath(".") + @"..\Content\img\GladSmiley.png", "image/png");
当我使用上面的代码时,它将搜索位于\projectname\content\img文件夹中的图像的映射路径。但是mappath方法正在\projectname\home\content\img中查找img,因此出于某种原因,它将主文件夹添加到mappath中:S有办法解决此问题吗?还是我做错了什么 试试这个:
LinkedResource imagelink = new LinkedResource(HostingEnvironment.MapPath("~/Content/img/GladSmiley.png"), "image/png");
相关的一点是,您可以找到如下目录/文件:
HostingEnvironment.MapPath("~/Content/img/GladSmiley.png")
如果需要,您也可以使用完全相同的语法使用Server.MapPath
,但您需要一个HttpContext来实现这一点(您可能已经有了,但为了使它始终工作,请使用HostingEnvironment.MapPath
)
如果您感兴趣,请参阅本讨论了解更多信息:请尝试以下方法:
LinkedResource imagelink = new LinkedResource(HostingEnvironment.MapPath("~/Content/img/GladSmiley.png"), "image/png");
相关的一点是,您可以找到如下目录/文件:
HostingEnvironment.MapPath("~/Content/img/GladSmiley.png")
如果需要,您也可以使用完全相同的语法使用Server.MapPath
,但您需要一个HttpContext来实现这一点(您可能已经有了,但为了使它始终工作,请使用HostingEnvironment.MapPath
)
如果您感兴趣,请参阅此讨论以了解更多信息:这很奇怪(我想我可能是打错了或是记错了什么)。如果使用
Server.MapPath
或HostingEnvironment.MapPath
,是否会出现相同的错误?怎么了?我确实打错了。是的,同样的错误。“\Content\img\GladSmiley.png”这给了我一个错误“bad compile constant error”,当我搜索它时,我得到了一些关于转义和使用双\like“\\Content\\img\\GladSmiley.png”的信息,但这不起作用eitherOkej,现在我得到了“可能的'null'赋值给标记有'notnull'属性的实体”您是否像我在示例中使用的那样使用前斜杠?他们不需要逃跑。在MapPath位中,您需要“~/Content/img/GladSmiley.png”
这很奇怪(我想我可能是输入错误或记错了什么)。如果使用Server.MapPath
或HostingEnvironment.MapPath
,是否会出现相同的错误?怎么了?我确实打错了。是的,同样的错误。“\Content\img\GladSmiley.png”这给了我一个错误“bad compile constant error”,当我搜索它时,我得到了一些关于转义和使用双\like“\\Content\\img\\GladSmiley.png”的信息,但这不起作用eitherOkej,现在我得到了“可能的'null'赋值给标记有'notnull'属性的实体”您是否像我在示例中使用的那样使用前斜杠?他们不需要逃跑。在您想要的映射路径位中“~/Content/img/GladSmiley.png”