Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

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