• Umbraco 中获取一个media item的文件路径 file path


    我们要使用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/  

  • 相关阅读:
    李宏毅2021春机器学习课程笔记——通过训练集上的Loss可获得的信息
    python学习-NotImplementedError的使用
    代码运行优化
    django实现上传文件读取文件内容
    django-admin上传下载文件
    AtCoder Beginner Contest 191 F
    敏感词过滤 AC自动机
    面经知识点
    select poll epoll实例
    socket用法
  • 原文地址:https://www.cnblogs.com/wphl-27/p/10043245.html
Copyright © 2020-2023  润新知