在Alfresco 4.0.d中生成缩略图

时间:2012-05-07 18:27:41

标签: web-services thumbnails alfresco manual

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

1 个答案:

答案 0 :(得分: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操作。

要使用Action Service,您只需要操作的名称及其所需的参数。例如,以下是您使用邮件操作时的样子:

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调用中,第二个参数是“actioned on noderef”。在您的情况下,您将希望它是您为其生成缩略图的节点。