【问题标题】:How to get thumbnail image of any kind of documents in alfresco using CMIS如何使用 CMIS 在 alfresco 中获取任何类型文档的缩略图
【发布时间】:2016-10-19 11:35:24
【问题描述】:

我使用 Java Servlet 创建了一个自定义 Web 应用程序,并使用 CMIS 连接到 Alfresco Repository。

现在我的要求是建立一个图书馆导航器;为此,我必须使用<IMG/> 标签在文档名称前面显示文档缩略图。

如何使用 CMIS 或任何其他 alfresco rest api 来实现这一点。

【问题讨论】:

  • 您是否尝试获取存储库对象列表?!?

标签: jsp servlets alfresco alfresco-share opencmis


【解决方案1】:

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 Share 客户端,您将需要使用规则或行为来触发您想要的演绎版的创建。

【讨论】:

  • 嗨,杰夫,我尝试了上面的代码,但正如你所说,有人要求通过 Alfresco Share 客户端查看文档库视图是必要的。我也尝试设置规则,但如果我创建文档对象使用 Cmis 没有执行 Js 脚本,则我的规则不起作用。
  • 无论文档如何添加,规则都应始终触发。您正在运行什么特定版本?
【解决方案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

希望对你有帮助。

【讨论】:

  • 我的默认 alfresco 共享没有在库视图中显示缩略图。属性文件中是否有任何配置。
  • 这个说法不正确:“实际上它不可能使用 CMIS 获取文档占位符。” CMIS 理解再现,文档库缩略图是一个名为“doclib”的再现,可通过 CMIS 访问。
猜你喜欢
  • 2014-08-13
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多