C# Umbraco Imagegen GetCropUrl on Api
我正在Umbraco v7.1上使用ImageGen。到目前为止还不错,我能够通过我的Razor代码获得裁剪URL 但是,我需要在我的Api控制器上获取裁剪url,但我不确定如何做到这一点 这就是我目前试图得到它的方式C# Umbraco Imagegen GetCropUrl on Api,c#,umbraco,C#,Umbraco,我正在Umbraco v7.1上使用ImageGen。到目前为止还不错,我能够通过我的Razor代码获得裁剪URL 但是,我需要在我的Api控制器上获取裁剪url,但我不确定如何做到这一点 这就是我目前试图得到它的方式 ModelImage = Services.MediaService.GetById(galleryId).GetValue("modelImage").ToString() …其中,ModelImage是“图像裁剪器”数据类型的别名。 这将返回src属性中的图像url以及裁剪
ModelImage = Services.MediaService.GetById(galleryId).GetValue("modelImage").ToString()
…其中,ModelImage
是“图像裁剪器”数据类型的别名。
这将返回src属性中的图像url以及裁剪信息(添加了换行符):
有人知道如何获取裁剪url而不是原始图像url吗?如果将图像节点检索为IPPublishedContent而不是IMedia,则可以获取裁剪url。这允许您使用GetCropUrl()方法,传入图像裁剪器属性的别名和所需裁剪的别名
var cropUrl = Umbraco.TypedMedia(galleryId).GetCropUrl("modelImage", "modelListCrop");
我得到这个错误…'Umbraco.Core.Models.IPublishedContent”不包含“GetCropUrl”的定义,并且找不到接受类型为“Umbraco.Core.Models.IPublishedContent”的第一个参数的扩展方法“GetCropUrl”(是否缺少using指令或程序集引用?),通过添加Umbraco.Web命名空间修复了此错误。愚蠢的我:/Thank有点离题,但一般来说,您想要使用ContentService或MediaService的唯一原因是您想要获取旧版本的内容,或者您想要创建、更新或删除。ContentService和MediaService都访问了数据库。您希望尽可能利用Umbraco Helper调用,如
Umbraco.TypedContent
和Umbraco.TypedMedia
。这两个调用都命中缓存而不是数据库。ImageGen?用图像裁剪器?为什么?裁剪机由ImageProcessor供电。
var cropUrl = Umbraco.TypedMedia(galleryId).GetCropUrl("modelImage", "modelListCrop");