Umbraco getCropurl没有给我带有图像Cropper的有效URL



我正在使用media type > Image > Upload Image上的图像cropper。这似乎是在媒体库中创建响应式图像的最佳解决方案。

但是,这给我带来了一个问题,即现在找到如何获取我的图像的URL。

通常,对于图像裁切者,我会使用此代码:

@Model.Content.GetCropUrl("image", "my-crop-name")

但是,如果我尝试以这种方式获取图像裁剪,我会得到它:

<img src="Umbraco.Web.Models.DynamicPublishedContent?mode=pad&rnd=131108182860000000" />

我期望用我指定的农作物获得图像URL。这适用于标准图像裁剪的裁剪,但在媒体库中的图像上不适合。这是为什么?以及我应该如何获得这些图像的裁剪网址?

我正在使用v7.4.2

为了在媒体部分中获取图像的裁剪URL,您首先需要将图像检索为IPublishedContent。您可以按以下方式执行此操作:

var imageId = Model.Content.GetPropertyValue<int>("image");
var image = Umbraco.TypedMedia(imageId);

或者,如果您使用的是出色的核心属性价值转换器软件包,则可以直接检索它,而无需执行转换:

var image = Model.Content.GetPropertyValue<IPublishedContent>("image");

然后,您需要在图像上调用GetCropUrl()方法。如果您已用image cropper属性替换默认上传属性,并将属性别名保持相同(umbracoFile),则可以通过裁剪别名:

var cropUrl = image.GetCropUrl("my-crop-name");

如果您的Image cropper属性的别名与默认的不同,则需要将其作为附加参数传递:

var cropUrl = image.GetCropUrl("imageCropperAlias", "my-crop-name");

直接来自媒体性欲的图像,而没有图像Cropper数据类型。我使用这样的东西:

<img src="@photo.Url?mode=crop&width=634&height=634" alt="@photo.Name" />

不是很漂亮,但是它可以很好地工作。

相关内容

  • 没有找到相关文章

最新更新