我有一个有效的网络邮件,我想发送一个嵌入的图像。
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有没有办法解决这个问题?或者我做错了什么?
答案 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?