Saturday, 5 October 2013

Automating the process of uploading multiple digital assets to the Adobe Experience Manager DAM

Adobe Experience Manager contains a Digital Asset Manager (DAM) that stores your organization's digital assets such as image files, video files, and so on. You can create a Java Swing application that lets you upload multiple digital assets (for example, image files) from your organization repository to the AEM DAM. Some organizations have thousands of digital assets and as a result, it is not practical to upload them one at a time using the AEM web client or Curl. For information about using the AEM web client to upload digital assets to the AEM DAM, see How to upload a Digital Asset.

Instead, you can develop a Sling Servlet that uses the AssetManager API. For information, see AssetManager API.

You can post files to the Sling Servlet by developing a Java Swing application. This client application uploads multiple digital assets to the AEM DAM.

A Java application that uses the JCR API to upload multiple files to the AEM DAM

To read this development article, click

To watch the video, click:

Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner

I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.

TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


  1. Hi Scott,

    I have an issue with this. After all the assets have been uploaded, they never appear under the DAM folder. Even If I choose an existing DAM folder (e.g. geometrix).
    No exceptions have been found in the program.


    1. Save the session after writing to DAM.
      add line;

  2. In the article - under the heading "Dynamically add digital assets to the AEM DAM" - you can see the files under /content/dam/traveldam. A screenshot is shown. The screenshot was taken after the Java app was executed and files were uploaded.

  3. HI Scott after adding assets into dam i can see only some files like jpg,png,doc files if i upload ppt,pdf am unable to see in dam folder.could please let me know what would be the issues.


  4. This is very much great and hope fully nice blog. Every body can easily found her need able information. I am visit first time but I fond many use full article. I will back again when get time.

  5. I have a question. I followed your blog and i was able to get it to work but you need to list the names of all the files your uploading. If i have 5000 files that will be a huge bother to have to do. It also says that you will be doing it dynamically so i was wondering how you are able to do it dynamically?

  6. OOTB - there is no way to upload files like this to the AEM DAM. THat is why we wrote this custom AEM service to feed it XML that specifies the files to upload. If you have 5000 files - you can look at somehow using Java to build the XML using code. For example -- if you have the file names listed in a DB -- you can write Java logic to read the file names from the DB and add them to the XML. Likewise - you could read them from a file system using code and place them in the XML. You are correct -- manually entering them would take a long time.

  7. Hi Scott! Thanks for the article. It worked for me but I have a question regarding the created nodes.
    The files uploaded this way into the DAM don't seem to have as much properties as the files uploaded manually or through WebDav. In the DAM interface, I can't open them for instance to access the thumbnails or the metadatas. Is it possible this creates "only simple nodes" in the DAM, and not "asset" nodes?

  8. You can write a DAM handler to handle these files. There is an article on how to create a DAM handler.

  9. This article was updated significantly to post multiple files to an AEM Sling Servlet. The Sling Servlet uses the AssetManager API. WHen you use this API, you get the out of the box AEM renditions.

  10. This comment has been removed by a blog administrator.