字符串被附加到Chrome中的图像源,阻止其加载

时间:2017-07-11 21:45:32

标签: javascript c# asp.net umbraco

我的代码看起来像

 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中不会发生这种情况,因为不会附加任何字符串。任何人都知道为什么会发生这种情况?

感谢,

1 个答案:

答案 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/