如何使用CMIS获取露天中任何类型文档的缩略图

时间:2016-10-19 11:35:24

标签: jsp servlets alfresco alfresco-share opencmis

我使用Java Servlets创建了一个Custom Web Application,并使用CMIS连接到Alfresco Repository。

现在我的要求是构建一个Library Navigator;为此,我必须使用<IMG/>标记在文档名称前面显示文档缩略图。

我如何使用CMIS或任何其他露天休息api来实现这一目标。

2 个答案:

答案 0 :(得分:3)

CMIS理解引渡的概念。 Alfresco中的缩略图和Web预览作为CMIS再现而公开。这个blog post提供了详细信息。在其中,您将看到一个代码示例,我将其包含在下面:

OperationContext context = session.createOperationContext();
context.setRenditionFilterString("cmis:thumbnail");
CmisObject doc = session.getObjectByPath("/Sites/ren/documentLibrary/Spring Surf and OpenCMIS Integration", context);
List<Rendition> renditions = doc.getRenditions();
for (Rendition rendition : renditions)
{
   System.out.println("kind: " + rendition.getKind());
   System.out.println("mimetype: " + rendition.getMimeType());
   System.out.println("width: " + rendition.getWidth());
   System.out.println("height: " + rendition.getHeight());
   System.out.println("stream id: " + rendition.getStreamId());
}

请注意,可能会让您失望的是,在将对象添加到存储库时,不会自动创建再现。通常,当有人通过Alfresco Share客户端请求查看文档库视图时,它们是异步创建的。

如果您需要能够创建文档然后立即检索其再现而无需登录Alfresco共享客户端,则您需要使用规则或行为来触发创建所需的再现。

答案 1 :(得分:2)

您似乎正在寻找文件占位符。

不要使用CMIS,而是选择Alfresco REST API。 下面是获取文档占位符的REST API,因为您需要动态传递文档节点参考和ALF票据

 "http://localhost:8080/alfresco/s/api/node/workspace/"+noderef+"/content/thumbnails/doclib?c=queue&ph=true&lastModified=doclib:1475322106180&alf_ticket="+alf_ticket

我希望,这会帮助你。