我有一个观点(与一个或多个图像),我也想作为电子邮件消息的正文使用。 服务视图模型使用Url.Content()
来获取绝对图像路径。 这种方法工作正常的网页,但是当我呈现完全相同的视图作为电子邮件的正文,则图像不能被发现是通过从呈现的HTML不完整的路径建议。
<img src="/Media/fe882a1d-3b77-4264-ab91-cade985ecbed.JPG"/>
我知道,这个问题是可以固定的,如果我可以访问完整的URL,例如与Url.Action
与
Request.Url.Scheme
过载协议。 有没有一种方法,以确定从完整的URL Url.Content
?
尝试书面方式自己的URL扩展方法和的帮助下解决Uri.GetLeftPart & UriPartial.Authority
public static class UrlExtensions
{
public static string AbsoluteContent(this UrlHelper urlHelper
, string contentPath)
{
Uri requestUrl = urlHelper.RequestContext.HttpContext.Request.Url;
string absolutePath = string.Format("{0}{1}",
requestUrl.GetLeftPart(UriPartial.Authority),
urlHelper.Content(contentPath));
return absolutePath;
}
}
然后使用Url.AbsoluteContent("~/media/image.jpeg")
在你的页面。 这将使http://domain/media/image.jpeg