3

我正在使用 Alfresco Community 4.0.d 中的 Java Web 服务,目前正在寻找向我的网站添加缩略图功能。我注意到发布新图片后缩略图无法立即使用;我想知道是否有人可以推荐一种手动触发生成的好方法?

4

1 回答 1

5

在论坛里也回答了你的问题。使用 JavaScript API,您可以要求文档生成其缩略图,如下所示:

document.createThumbnail("doclib");

在这种情况下,“doclib”是 Share 中文档库缩略图的缩略图配置名称,但这可以是您创建的任何缩略图定义。

文档位于http://docs.alfresco.com/4.0/topic/com.alfresco.enterprise.doc/references/API-JS-Thumbnail-createThumbnail.html

对于 Java,请查看 org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter 类源。在你自己的课堂上,你可以做类似的事情。或者,更好的是,使用 actionService 来调用 create-thumbnail 操作。

要使用动作服务,您只需要动作的名称和它所期望的参数。例如,当您使用 mail 操作时,它的外观如下:

ActionService actionService = getServiceRegistry().getActionService();
Action mailAction = actionService.createAction(MailActionExecuter.NAME);
mailAction.setParameterValue(MailActionExecuter.PARAM_SUBJECT, ExternalReviewNotification.SUBJECT);        
mailAction.setParameterValue(MailActionExecuter.PARAM_TO, recipient);
mailAction.setParameterValue(MailActionExecuter.PARAM_FROM, ExternalReviewNotification.FROM_ADDRESS);
mailAction.setParameterValue(MailActionExecuter.PARAM_TEXT, sb.toString());

actionService.executeAction(mailAction, null);

要为缩略图执行此操作,您将使用“create-thumbnail”作为名称(或 CreateThumbnailActionExecuter.NAME)。查看该类的源代码,我发现它需要两个参数,PARAM_CONTENT_PROPERTY,它是“cm:content”,和 PARAM_THUMBNAIL_NAME,它是普通文档库缩略图的“doclib”,或者如果你定义了你的缩略图名称自己的。

需要注意的一点是,在 executeAction 调用中,第二个参数是“对 noderef 执行的操作”。在您的情况下,您会希望它成为您为其生成缩略图的节点。

于 2012-05-08T16:12:25.993 回答