Create CSV file programmatically as DAM asset | Community
Skip to main content
Level 3
February 27, 2018
Solved

Create CSV file programmatically as DAM asset

  • February 27, 2018
  • 6 replies
  • 8806 views

Hi All,

I am working on a requirement where we need to create a CSV file from SQL database and save the file in DAM location. In order to create the CSV file in DAM location I am unsing AssetManager.createAsset("/content/dam/../..test.csv", is, "text/csv", true).

The issue that I am facing here is inorder to create asset we need an InputStream object, so I am first creating a File object and then using CSVWriter to create a CSV in another location and then converting that File object to InputStream like this ::InputStream is = new FileInputStream(csvFile);

Can someone please suggest me an approach where I can create the CSV file directly in DAM location.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

Create an AEM Java service that creates a CSV file and then use the Asset Manager API or JCR NODE API to place the asset into the DAM location. Java CSV - java code samples

6 replies

Hemant_arora
Level 8
February 27, 2018
Level 3
February 27, 2018

Thanks for the reply. I have checked this, but this is slightly different from my requirement, I just want to create a .csv file programmatically  and place it in DAM. This file will then be pushed to another server to other uses.

Level 2
April 1, 2021
@smrithi_govind , I'm working on similar requirement. Facing the same issue as yours. Did you find any solution to this?
Hemant_arora
Level 8
February 27, 2018

You can find so many examples to create csv and for uploading to dam refer to the last servlet part in this example https://helpx.adobe.com/experience-manager/using/uploading-files-aem1.html

Hemant_arora
Level 8
February 27, 2018

See this example to create CSV. Change the query according to your requirement if you want users, assets or pages to be exported in csv. https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/bundle/src/main/java/com/adobe/acs/commons/exporters/impl/users/UsersExportServlet.java

smacdonald2008
smacdonald2008Accepted solution
Level 10
February 27, 2018

Create an AEM Java service that creates a CSV file and then use the Asset Manager API or JCR NODE API to place the asset into the DAM location. Java CSV - java code samples

saurabhn3378167
October 25, 2021

I am facing same issue. looks like there is no direct way to convert file writer to input stream.. as AssetManager.createAsset() method takes inputstream as parameter so first we need to create file from csvwriter and again read that file via inputstream and pass it to AssetManagerAPI to place it on DAM.