我们有一个Kentico项目,我们将Azure Blob存储用于我们的媒体存储。在页面中选择媒体文件时,它会存储以下URL:www.ourhost.net/blobcontainer/kenticosite/media/medialibrary/picture.jpg
我们也在使用ImageProcessor.org。这仅在通过主机本身请求图像时才有效,因此我们需要媒体库选择器来存储绝对URL,如下所示:/blobcontainer/kenticosite/media/medialibrary/picture.jpg
如何做到这一点?
提前致谢。尼古拉斯。
答案 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
创建自定义命名空间