我正在尝试为process step
编写工作流程DAM update asset
,以便将上传的资产发送到将修改资产的外部服务,然后将修改后的资产发送到{ {1}}步骤所以我已将我的流程步骤添加到DAM更新资产中,如下所示:
到目前为止我的代码看起来像这样:
Metadata extraction
这是我在上传资产时在日志中看到的内容:
执行方法中的Here2 Here2路径:/content/dam/photo1.JPG/jcr:content/renditions/original Here2 asset:null
问题
答案 0 :(得分:2)
要通过HTTP访问外部服务,您必须编写客户端。 CQ提供commons-httpclient
捆绑包,您可以使用它来访问该服务。可以找到该文档的文档here。我不知道服务是否期望使用PUT或POST发送文件,但httpclient提供了所有这些方法。您所要做的就是提供适当的InputStream
。将您的资源调整为Rendition
并使用getStream()
方法获取InputStream
。
当您从网络服务获得修改后的资产时,您需要替换原来的资产:
// rendition = ...; // original rendition object created as above
// newInputStream = ...; // new asset received from your webservice
Asset asset = rendition.getAsset();
asset.addRendition("original", newInputStream, rendition.getMimeType());