Umbraco GetCropUrl 没有给我一个有效的 URL with Image Cropper
Umbraco GetCropUrl not giving me a valid URL with Image Cropper
我正在 media type > Image > Upload Image
上使用图像裁剪器。这似乎是在媒体库中创建响应图像的最佳解决方案。
但是,这给我带来了一个问题,即现在如何为我的图像获取 URL。
通常对于图像裁剪器,我会使用此代码:
@Model.Content.GetCropUrl("image", "my-crop-name")
但是,如果我尝试以这种方式裁剪图像,我会得到这样的结果:
<img src="Umbraco.Web.Models.DynamicPublishedContent?mode=pad&rnd=131108182860000000" />
我希望得到一张图像 URL,其中包含我指定的裁剪。这适用于标准图像裁剪器,但不适用于我在媒体库中的图像。这是为什么?我应该如何获得这些图像的裁剪 URL?
我正在使用 v7.4.2
对于直接来自媒体库的图像,没有 Image Cropper 数据类型。我使用这样的东西:
<img src="@photo.Url?mode=crop&width=634&height=634" alt="@photo.Name" />
不是很漂亮,但效果很好。
为了对媒体部分中的图像进行裁剪 URL,您首先需要将图像检索为 IPublishedContent
。您可以按如下方式执行此操作:
var imageId = Model.Content.GetPropertyValue<int>("image");
var image = Umbraco.TypedMedia(imageId);
或者,如果您使用的是优秀的Core Property Value Converters package,您可以直接检索它而无需执行转换:
var image = Model.Content.GetPropertyValue<IPublishedContent>("image");
然后您需要对图像调用 GetCropUrl()
方法。如果您已将默认上传 属性 替换为图像裁剪器 属性,并保持 属性 别名相同 (umbracoFile
),您只需传入裁剪别名即可:
var cropUrl = image.GetCropUrl("my-crop-name");
如果您的 Image Cropper 属性 的别名与默认值不同,您需要将其作为附加参数传递:
var cropUrl = image.GetCropUrl("imageCropperAlias", "my-crop-name");
我正在 media type > Image > Upload Image
上使用图像裁剪器。这似乎是在媒体库中创建响应图像的最佳解决方案。
但是,这给我带来了一个问题,即现在如何为我的图像获取 URL。
通常对于图像裁剪器,我会使用此代码:
@Model.Content.GetCropUrl("image", "my-crop-name")
但是,如果我尝试以这种方式裁剪图像,我会得到这样的结果:
<img src="Umbraco.Web.Models.DynamicPublishedContent?mode=pad&rnd=131108182860000000" />
我希望得到一张图像 URL,其中包含我指定的裁剪。这适用于标准图像裁剪器,但不适用于我在媒体库中的图像。这是为什么?我应该如何获得这些图像的裁剪 URL?
我正在使用 v7.4.2
对于直接来自媒体库的图像,没有 Image Cropper 数据类型。我使用这样的东西:
<img src="@photo.Url?mode=crop&width=634&height=634" alt="@photo.Name" />
不是很漂亮,但效果很好。
为了对媒体部分中的图像进行裁剪 URL,您首先需要将图像检索为 IPublishedContent
。您可以按如下方式执行此操作:
var imageId = Model.Content.GetPropertyValue<int>("image");
var image = Umbraco.TypedMedia(imageId);
或者,如果您使用的是优秀的Core Property Value Converters package,您可以直接检索它而无需执行转换:
var image = Model.Content.GetPropertyValue<IPublishedContent>("image");
然后您需要对图像调用 GetCropUrl()
方法。如果您已将默认上传 属性 替换为图像裁剪器 属性,并保持 属性 别名相同 (umbracoFile
),您只需传入裁剪别名即可:
var cropUrl = image.GetCropUrl("my-crop-name");
如果您的 Image Cropper 属性 的别名与默认值不同,您需要将其作为附加参数传递:
var cropUrl = image.GetCropUrl("imageCropperAlias", "my-crop-name");