我的代码看起来像
var publishedDate = Convert.ToDateTime(node.GetProperty("publishedDate").Value);
string image = Umbraco.Content(node.Id).GetPropertyValue("postImage").src;
string categories = @node.GetProperty("categories").Value.Replace(",", ", ");
<div class="column">
<img class="post-image" src="@image">
<div class="post-details" data-equalizer-watch>
<h5 class="post-category">@categories</h5>
<h2 class="post-title"><a href="@node.Url">@node.Name</a></h2>
<h6 class="post-date">@string.Format("{0:MMMM dd, yyyy}", publishedDate)</h6>
</div>
</div>
当我使用开发人员工具在Chrome中查看图像源时,图像src最终看起来像
src="/media/8354/collegis_blogs_design_jr_7-23_15_news.jpg?1499808181609"
jpg导致图像错误输出后的附加字符串。在Internet Explorer中不会发生这种情况,因为不会附加任何字符串。任何人都知道为什么会发生这种情况?
感谢,
答案 0 :(得分:0)
根据您使用的Umbraco版本,我会得到这样的媒体路径:
for v7.6及以上
string imageUrl = Model.Content.GetPropertyValue<IPublishedContent>("headerImage").Url;
适用于v7.5x及以下
UmbracoHelper uHelper = new UmbracoHelper(UmbracoContext.Current);
string mediaUrl = "";
if (CurrentPage.HasValue(propertyName))
{
var mediaItem = uHelper.Media(CurrentPage.propertyName.ToString());
mediaUrl = mediaItem.umbracoFile;
}
return mediaUrl;
请参阅我的博客文章以及如何从控制器执行此操作。 http://www.codeshare.co.uk/blog/how-to-get-the-file-path-of-a-media-item-in-umbraco/