我们要使用UmbracoHelper, 这里就需要用到我们在之前的blog里面写的UmbracoContext

参看这个blog     https://www.cnblogs.com/wphl-27/p/9927044.html

public class ContextHelpers
{ public static UmbracoContext EnsureUmbracoContext()
{
if(UmbracoContext != null)
{
return UmbracoContext.Current;
}
var dummyHttpContext = new HttpContextWrapper(new HttpContext(new SimpleWorkerRequest("blah.aspx", "", new StringWriter())));
return UmbracoContext.EnsureContext(
dummyHttpContext,
ApplicationContext.Current,
new WebSecurity(dummyHttpContext, ApplicationContext.Current),
UmbracoConfig.For.UmbracoSettings(),
UrlProviderResolver.Current.Providers,
false); }
}

1. 在View 中

在View中写如下代码

UmbracoHelper uHelper = new UmbracoHelper(ContextHelper.EnsureUmbracoContext());

string mediaUrl = "";
if (CurrentPage.HasValue(propertyName))
{
var mediaItem = uHelper.Media(CurrentPage.propertyName.ToString());
mediaUrl = mediaItem.umbracoFile;
}
return mediaUrl;

2. 在后台代码中写

using Umbraco.Web;

public static string GetMediaUrlFromPropertyName(dynamic contentItem, string propertyName)
{
UmbracoHelper uHelper = new UmbracoHelper(ContextHelper.EnsureUmbracoContext());
string mediaUrl = "";
if (contentItem.HasValue(propertyName))
{
var mediaItem = uHelper.Media(contentItem.GetPropertyValue(propertyName));
mediaUrl = mediaItem.umbracoFile;
}
return mediaUrl;
}

原文请参看  https://codeshare.co.uk/blog/how-to-get-the-file-path-of-a-media-item-in-umbraco/

Umbraco 中获取一个media item的文件路径 file path的更多相关文章

  1. VC++获取一个GB级大文件的字节大小

    常规的获得小文件(2.1GB以下)的字节大小可以使用ftell,函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数.使用fseek函数后再调用函数ftell()就能非常容易地确定文 ...

  2. 如何用DOS命令,获取一个目录下的文件数目

    发信人: GOOGOODALLS (我爱Figo), 信区: DOS 标  题: 如何用DOS命令,获取一个目录下的文件数目? 发信站: 水木社区 (Fri Mar  9 08:40:01 2007) ...

  3. 在 WPF 中获取一个依赖对象的所有依赖项属性

    原文:在 WPF 中获取一个依赖对象的所有依赖项属性 本文介绍如何在 WPF 中获取一个依赖对象的所有依赖项属性. 本文内容 通过 WPF 标记获取 通过设计器专用方法获取 通过 WPF 标记获取 p ...

  4. C# 中获取一个目录下的目录与文件

    //获得目录下所有文件和子目录使用DirectoryInfo类的GetFileSystemInfos()方法. //获得目录下所有目录 string[] dirs = Directory.GetDir ...

  5. c++多个文件中共用一个全局变量 变量跨文件使用

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12047602.html 虽然很多博客都写过这个了 但是 我还是继续补充的详细一点吧  毕竟很多 ...

  6. 不用@Value从Spring的ApplicationContext中获取一个或全部配置

    获取一个配置: applicationContext.getEnvironment().resolvePlaceholders("${propertyKey}"); // 方法1 ...

  7. JS如何获取上传标签的文件路径和文件名?

    如何使用JS获取type="file"的标签上传文件的文件路径及文件名: 代码: <!doctype html><html lang="en" ...

  8. 获取当前路径下的所有文件路径 :listFiles

    获取当前路径下的所有文件路口 :listFiles

  9. WEB编程中获取src目录下的文件(没有src目录)

    这种情况遇见的会比较多,像一个WEB工程,如果在src下面写了一个xml或者一些其它的文件,当工程发布到服务器时,web程序是在tomcat等服务器下运行这个程序的,这个时候,程序目录里面并没有src ...

随机推荐

  1. HAWQ 官方文档创建filespace,tablespace,database,table

    1.创建Filespace 创建Filespace必须是数据库超级用户( You must be a database superuser to create a filespace.)首先创建一个f ...

  2. MySQL_截止昨日南京市所有在职业务员业绩排名-20170116

    #计算南京销售员总业绩排名 数据结果已打乱处理 #职工信息表包含在职和离职两种状态 因此不能以这表当做主表 不然离职人的数据也会出现 以毛利表为主表 销售员限制在昨天在职的销售范围内 且和后面left ...

  3. celery 停止执行中 task

    目录 原因 解决过程 原因 因为最近项目需求中需要提供对异步执行任务终止的功能,所以在寻找停止celery task任务的方法.这种需求以前没有碰到过,所以,只能求助于百度和google,但是找遍了资 ...

  4. ecshop彻底去版权把信息修改成自己的全教程

    前台部分: 一.去掉头部title部分的ECSHOP演示站-Powered by ecshop 1.问题:“ECSHOP演示站”方法:在后台商店设置 – 商店标题修改2.问题:“ Powered by ...

  5. git-远程协作

    远程协作相关命令 1.1. git clone 克隆远程仓库 git clone支持的协议有: 例如: git clone https://github.com/332473775/gitTestPr ...

  6. BZOJ1901:Dynamic Rankings

    浅谈离线分治算法:https://www.cnblogs.com/AKMer/p/10415556.html 题目传送门:https://lydsy.com/JudgeOnline/problem.p ...

  7. 简谈Tomcat调优

    一.Tomcat和apache的比较 共同点:apache和tomcat都是属于web服务器. 不同点:他们是两个不同的容器,承载的东西不一样,tomcat属于一种java应用的服务 器,只针对jav ...

  8. python sentence

    1.while for 增加了循环正常结束后执行的else代码块. 2.Objects are mutable 3.import copy p1 = Point() p2=copy.copy(p1) ...

  9. git revert reset

    git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit. git reset 是把HEAD向后移动了一下,而git revert是HEAD ...

  10. asp.net给按钮添加删除确认

    if (!IsPostBack) { BtnDel.Attributes["onclick"] = "javascript:return window.confirm(' ...