从CMIS我如何获得Alfresco的缩略图占位符?

时间:2013-02-01 18:44:37

标签: thumbnails alfresco opencmis

据我所知,如果没有缩略图,以下网址会为我提供文档的缩略图或占位符图片。这是因为最后的ph = true。

http://cms.mydomain.com:8080/share/proxy/alfresco/api/node/workspace/SpacesStore/" + childId + "/content/thumbnails/doclib?ph=true

我还发现以下服务器端代码将为我提供缩略图图像的ContentStream。

    OperationContext context = session.createOperationContext();
    context.setRenditionFilterString("cmis:thumbnail");
    CmisObject doc = session.getObject(id, context);
    List<Rendition> renditions = doc.getRenditions();
    if (renditions.size() > 0) {
        Rendition rend = renditions.get(0);
        cs = rend.getContentStream();
    }

问题是如果没有缩略图,就不会返回占位符图片,就像第一个网址一样。

对于服务器端,如果没有缩略图,我将如何检索适当的占位符图像?例如,对于docx和xlsx文件。

谢谢, 乔恩

2 个答案:

答案 0 :(得分:3)

我认为在这种情况下,检索缩略图(doclib或占位符)的最有效方法是直接调用REST Alfresco服务。

我不是100%确定,但Alfresco服务器的CMIS再现响应仅包含现有的再现。 CMIS引用部分中没有提供占位符,就像Alfresco REST URL提供的那样。

答案 1 :(得分:0)

此处的密钥位于if (renditions.size() > 0) - &gt;这正是webscript的作用。

但是,REST webscript的作用是广告else - &gt;所以如果到目前为止不是再现,那么填充确定mimetype并获取相应的占位符。

您应该在代码中执行相同操作以使其获取占位符 - &gt;添加一个else,然后找到该图像的占位符。