Entorno
AEM Assets 6.0, 6.1, 6.2, 6.3
Pasos
Los activos no se pueden mover correctamente utilizando la API Session.move de JCR. En su lugar, debe utilizar la API PageManager.move.
Por ejemplo:
PageManager pageManager = ((PageManager)resourceResolver.adaptTo(PageManager.class)); Resource sourceResource = resourceResolver.getResource("/content/dam/example.jpg"); String destinationPath = "/content/dam/test/example.jpg"; pageManager.move(sourceResource, destinationPath, null, false, true, null, null);
Desafortunadamente, esa llamada de método no incluye completamente todo lo que se hace con los com.day.cq.wcm.core.impl.commands. AbstractCopyMoveCommand que gestiona la petición desde la interfaz de usuario. Para simular completamente la interfaz de usuario, tendría que desactivar internamente esta solicitud utilizando el SlingRequestProcessor.
Consulte este artículo para obtener más detalles sobre cómo desactivar internamente dicha solicitud
: http://www.nateyolles.com/blog/2015/10/get-rendered-html-for-an-aem-resource-or-component
La solicitud sería:
POST /bin/wcmcommand
con estos parámetros POST:
cmd=movePage integrity=true _charset=utf-8 destParentPath=/content/dam destName=test1.png srcPath=/content/dam/test.png