5
votes

I'm new to Umbraco version 5 and Razor, but I'm trying to get the path for a media file stored as a property of the current page so that I can render it as an image.

Searching Google and Stack Overflow have got me this far:

@{
    var mediaId = DynamicModel.Animation;
    var media = (TypedEntity)Umbraco.GetEntityById(mediaId);
}      

where 'Animation' is the name of the media property in my page.

How can I get to the image path of my media item?

2
UPDATE: For anyone starting out with Umbraco v5 - be aware that v5 has been discontinued (umbraco.com/follow-us/blog-archive/2012/6/13/v5-rip.aspx)Rob Bird

2 Answers

6
votes

You need to use the @Umbraco.GetMediaUrl helper method. In my case:

<img src="@Umbraco.GetMediaUrl(DynamicModel.myImageProperty)" />

where myImageProperty is the name of the property in my page.

I hope this helps someone.

(OK, I found the answer to my own question, seems I was too lazy to study the sample book store site in detail which explains why there wasn't more information on the web.)

1
votes

DynamicModel is deprecated and will be removed in Umbraco 5.3, instead of it you should use CurrentPage:

<img src="@Umbraco.GetMediaUrl(CurrentPage.imageProperty)" />