Kentico媒体库相对URL

时间:2016-05-23 10:03:16

标签: kentico

我们有一个Kentico项目,我们将Azure Blob存储用于我们的媒体存储。在页面中选择媒体文件时,它会存储以下URL:www.ourhost.net/blobcontainer/kenticosite/media/medialibrary/picture.jpg

我们也在使用ImageProcessor.org。这仅在通过主机本身请求图像时才有效,因此我们需要媒体库选择器来存储绝对URL,如下所示:/blobcontainer/kenticosite/media/medialibrary/picture.jpg

如何做到这一点?

提前致谢。尼古拉斯。

1 个答案:

答案 0 :(得分:2)

我假设你在谈论Media selection表单控件,这是正确的吗?

在这种情况下,解决方案是让您从表单控件存储的绝对URL 删除协议/域。您可以通过创建Custom macro来执行此操作,因为您使用的是门户引擎宏。

宏的目的只是获取绝对URL并使其成为相对URL。

而不是使用它:

<img src="{% CurrentDocument["HeaderImage"] #%}" alt="{% CurrentDocument["Title"] #%}" />

您可以这样称呼:

<img src="{% MyMacros.GetRelativeUrl(CurrentDocument["HeaderImage"]) #%}" alt="{% CurrentDocument["Title"] #%}" />

正如您所看到的,我正在使用“MyMacros”命名空间,这是一种最佳实践,因为它可以使您保持所有宏的组织。您可以按this article

创建自定义命名空间