如何从 AEM 的 Java 文件中获取给定演绎版的资产路径?

how can I get the asset path of a given rendition from in Java file in AEM?

我想在 html 页面中以缩略图形式显示 'cq5dam.thumbnail.140.100.png' 图像资源的再现。 对于给定的演绎

,如何在 java/JSP 中获取 DAM 中我的一项资产的资产路径

这个函数就可以了

public static String getImageAssetPath(SlingHttpServletRequest slingRequest,String actualDamPath,String renditionParam,String defaultPath) {
    try {
        if(StringUtils.isNotEmpty(actualPath)){
              Resource resource = slingRequest.getResourceResolver().getResource(actualPath);
              Asset asset = resource.adaptTo(Asset.class);
              String imageAssetPath = asset.getRendition(renditionParam).getPath();
              LOGGER.info("imageAssetPath for given rendition: " + imageAssetPath);
              return imageAssetPath;
       }

    } catch (Exception e) {
        LOGGER.error(e.getMessage());
    }

    return defaultPath;
}

将此函数放入标签库中,以便在您的 jsps 中使用相同的函数

${mytaglib:getAssetPath(slingRequest,property.previewImage,'cq5dam.thumbnail.140.100.png','')}