Adobe 我们可以从dam中删除上传的文件吗
我需要以编程方式从DAM资产中删除上载的文件。我们可以从DAM中删除特定的文件节点吗 路径:-Adobe 我们可以从dam中删除上传的文件吗,adobe,aem,Adobe,Aem,我需要以编程方式从DAM资产中删除上载的文件。我们可以从DAM中删除特定的文件节点吗 路径:- /content/dam/nextgen/Ehub-POD/… 在Ehub吊舱内,我正在创建一个文件夹并上传文件。在jsp页面中,我将选择特定的文件,并需要从dam以及jsp中删除该文件。让我们假设dam中有以下图像: /content/dam/nextgen/Ehub-POD/image1.jpg 要删除它,请使用jcr会话: session.removeItem("/content/dam/ne
/content/dam/nextgen/Ehub-POD/…
在Ehub吊舱内,我正在创建一个文件夹并上传文件。在jsp页面中,我将选择特定的文件,并需要从dam以及jsp中删除该文件。让我们假设dam中有以下图像:
/content/dam/nextgen/Ehub-POD/image1.jpg
要删除它,请使用jcr会话:
session.removeItem("/content/dam/nextgen/Ehub-POD/image1.jpg")
if (session.hasPendingChanges()) {
session.save();
}
dam中的图像将被删除,现在您需要运行查询以找出图像的使用位置并删除fileReference
属性:
Workspace workspace = session.getWorkspace();
QueryManager qm = workspace.getQueryManager();
Query query = qm.createQuery("/jcr:root/content/websitename/*[@fileReference='/content/dam/nextgen/Ehub-POD/image1.jpg']", Query.XPATH);
QueryResult queryResult = query.execute();
result = queryResult.getNodes();
while (result.hasNext()) {
Node node = result.nextNode();
node.getProperty("fileReference").remove();
}
或者您可以删除有关图像的所有信息,收到
有关裁剪、文件引用等的节点存储信息:
while (result.hasNext()) {
Node node = result.nextNode();
node.remove();
}
别忘了保存存储库更改
if (session.hasPendingChanges()) {
session.save();
}
通过卷曲的另一种方法: 您可以对映像路径执行CURL DELETE请求以将其删除。此外,您还可以通过以下命令使用CURL查找对图像的所有引用:
http://localhost:4502/bin/wcm/references.json?path=/content/dam/nextgen/Ehub-POD/test-image.png
这将为您提供使用此图像的所有位置的参考(CSS或JS除外)
“从dam和jsp中删除文件”是什么意思。JSP不会存储任何内容。资产数据的存储将位于您创建/上载的特定路径中。您可以编写代码来删除该特定节点并保存会话。是否尝试从JSP代码中删除DAM中的节点?从java中删除DAM中的节点。您好,感谢您的回复。我已经使用asset manager删除了资产节点。这不是这里需要的解决方案。