我正在使用 Alfresco Community 4.0.d 中的 Java Web 服务,目前正在寻求向我的站点添加缩略图功能。我注意到在发布新图片后无法立即使用缩略图;我想知道是否有人可以推荐一种手动触发生成的好方法?
最佳答案
也在论坛上回答了你的问题。使用 JavaScript API,您可以要求文档生成其缩略图,如下所示:
document.createThumbnail("doclib");
在这种情况下,“doclib”是 Share 中文档库缩略图的缩略图配置名称,但这可以是您创建的任何缩略图定义。
对于 Java,请查看 org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter 类源代码。在你自己的类里面,你可以做类似的事情。或者,更好的是,使用 actionService 调用创建缩略图操作。
要使用 Action 服务,您只需要 Action 的名称和它期望的参数。例如,这是使用邮件操作时的样子:
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 的操作”。在您的情况下,您希望它成为您为其生成缩略图的节点。
关于web-services - 在 Alfresco 4.0.d 中生成缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10487135/