Expand my Community achievements bar.

Join us in celebrating the outstanding achievement of our AEM Community Member of the Year!
SOLVED

How to download dam images from sightly code?

Avatar

Level 7

Hi,

I tried the code mentioned below.

<a href="/content/dam/wknd/images/sample.jpg" download>
  <img src="/content/dam/wknd/images/sample.jpg" alt="sample" width="104" height="142">
</a>

 This piece of code opens the image in a new tab, it doesn't download the image to my system.

 

How to achieve this functionality.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

you need to write a filter which add those headers when images are requested.



Arun Patidar

View solution in original post

7 Replies

Avatar

Community Advisor

you have to look for Content-Disposition header to achieve that

EXAMPLE, That file is send with these headers:

Content-Type: application/force-download
Content-Disposition: attachment; filename=bike_chase-wallpaper-2560x1600.jpg

 



Arun Patidar

Avatar

Level 7

@arunpatidar 

You mean I have to write servlet and send these data through that servlet.... Content-Type: application/force-download

Content-Disposition: attachment; filename


This code I tried.. it is downloading the image but it shows, image format not supported

try {
            ResourceResolver resourceResolver = request.getResourceResolver();

            Resource assetResource = resourceResolver.getResource("/content/dam/wknd-shared/en/contributors/ayo-ogunseinde-237739.jpg");

            Set<Resource> assetSet = new HashSet<>();
            assetSet.add(assetResource);

            response.setContentType("application/force-download");
            response.setHeader("Content-Disposition", "attachment; filename=ayo-ogunseinde-237739.jpg");
            assetDownloadService.assetDownload(assetResource, assetSet, true, false, false, null, null, "ayo-ogunseinde-237739.jpg", StringUtils.EMPTY, response.getOutputStream());
        } catch (Exception e) {
            e.printStackTrace();
        }

 

Avatar

Correct answer by
Community Advisor

you need to write a filter which add those headers when images are requested.



Arun Patidar

Avatar

Level 7

@arunpatidar  this code looks valid, 

<a href="/content/dam/wknd/images/sample.jpg" download>

 

Why doesn't this work?

Avatar

Level 4

Please try 

 

There is an OSGi Configuration in Felix console named "Apache Sling Content
Disposition Filter" which controls Content Disposition for different mime types based on the path 
 
sanketd27011989_0-1673270578832.png

 

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager-assets/asset-direct-link-i...