从image cropper属性获取图像id



我正在尝试获取Umbraco的image Cropper属性的图像ID,以便将其与TypedMedia(id).GetResponsiveCropUrl()方法一起使用。

我很难只提取ID。我当前的实现item.GetProperty("mainImage").Value.ToString()返回JSON对象,该对象由额外的Image Cropper数据组成,如焦点:

{ "focalPoint": { "left": 0.71111111111111114, "top": 0.57 }, "src": "/media/1004/9910_03_7326-river-flood_web.jpg", "crops": [ { "alias": "Carousel", "width": 700, "height": 400 } ] }1156

检索图像ID的最佳方法是什么?

这是我的实现:

 foreach (Node item in Node.GetCurrent().GetDescendantNodes())
 {
    if (item.GetProperty<bool>("showInNewsCarousel") == true)
    {
        Response.Write(item.GetProperty("mainImage").Value.ToString());
    //    var slideImage = Umbraco.Media(item.GetProperty("mainImage").Value);
        <img class="img-responsive" src="@Umbraco.TypedMedia(1155).GetResponsiveCropUrl("Carousel")" />
    }
}

您在注释中所说的1156值是图像ID,但实际上并不是JSON的一部分,而是后来添加的。(如果你尝试在JSONLint.com上验证字符串,你就会明白我的意思。)由于ID不是JSON的一部分,你将无法使用JSON解析器来获取值。我认为你最好的选择就是找到最后一个最后的支撑,然后拿下所有的东西。

string id = json.Substring(json.LastIndexOf('}') + 1).Trim();

相关内容

  • 没有找到相关文章

最新更新