Expand my Community achievements bar.

Upload GIF image into dam programmatically AEM

Avatar

Level 2

Hi,

I'm trying to upload external gif image programmatically using com.day.cq.dam.api.AssetManager api but it is not working as expected. i'm able to upload external jpg and png images.

example : Fat Cat Success GIF - Find & Share on GIPHY

For above gif content type is html not gif  is that is the issue?.

Can anyone help me with this, please?

Thanks,

Santosh

4 Replies

Avatar

Community Advisor

Hi,

For me below code is working for jpeg and gif.

aem63app-repo/UploadAssets.java at master · arunpatidar02/aem63app-repo · GitHub

I am succesfully able to upload gif and used in page as well.

for image you've share is video, not an gif. You can try Busy Chis Sweet Home GIF - Find & Share on GIPHY

Screen Shot 2018-08-07 at 2.52.35 PM.png

Thanks
Arun



Arun Patidar

Avatar

Level 9

Santhosh,

Can you tell us what is not working as per your expectation? Does post request not go through? Any error log you see in the response?

Avatar

Level 1

Hi please try this it worked for me


Map<String, Object> param = new HashMap<>();
param.put(ResourceResolverFactory.SUBSERVICE, "aemuser");
ResourceResolver resolver = resolverFactory.getServiceResourceResolver(param);

String imageUrl = "https://lh4.googleusercontent.com/cjh5t_mnSYuW_RnVI922M9kjxW8leJGp8nCwWdBjOQxz_RzNkuvVIHaxzDrZ-neDiF...";
URL url = new URL(imageUrl);
InputStream is = url.openStream();
AssetManager assetMgr = resolver.adaptTo(AssetManager.class);
String newFile = "/content/dam/folderpath/1gi_NJv844BNNRwBXzN5ccgOgnVPHqnh6.jpg";
assetMgr.createAsset(newFile, is, "image/jpeg", true);// mention  meme type for me it is jpeg