使用CMS.DocumentEngine.DocumentHelper检索自定义页面类型的文档时,如何获取附加到Direct Uploader表单控件属性类型的图像的路径?

如果通过以下方式检索文档/页面:

DocumentQuery documents = DocumentHelper.GetDocuments("Custom.PageType")
   .Path("/some-path", PathTypeEnum.Children)
   .OnCurrentSite()
   .Culture("en-us")
   .Published()
   .Page(page, size);


然后遍历检索到的文档以投影到自定义类:

foreach(var document in documents) {
    Foo foo = new Foo(document.getStringValue("SomeCustomColumnName", ""));
    foos.add(foo);
}


使用getStringValue()定位自定义页面类型的Direct Uploader字段/属性将返回文档GUID,例如"123456f-5fa9-4f64-8f4b-75c52db096d5"

在转换中,我可以使用诸如GetFileUrl("AttachmentColumnName")之类的GetFileUrl()来获取路径,在处理检索到的文档时如何在ASPX代码中使用该路径?

定制页面类型数据通过ASMX服务和Ajax提供给客户端。返回的JSON数据用于生成/添加到页面的标记,包括<img />

感谢您提供任何帮助!

最佳答案

您可以在商品模板中尝试以下操作:

/CMSPages/GetFile.aspx?guid=<%# Eval("SomeCustomColumnName")%>


如果您不希望图像损坏,也可以在生成该链接之前检查SomeCustomColumnName是否为空。

另一个选项是将文件上传转换为URL选择器,并允许用户将文件上传到媒体库。恕我直言,这可能是更好的方法。

关于c# - Kentico CMS 10-DocumentHelper附件URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45331310/

10-11 09:34