How to download dam images from sightly code? | Community
Skip to main content
Level 6
January 6, 2023
Solved

How to download dam images from sightly code?

  • January 6, 2023
  • 2 replies
  • 1625 views

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.

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 arunpatidar

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

2 replies

arunpatidar
Community Advisor
Community Advisor
January 6, 2023

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
Ronnie09Author
Level 6
January 6, 2023

@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(); }

 

arunpatidar
Community Advisor
arunpatidarCommunity AdvisorAccepted solution
Community Advisor
January 8, 2023

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

Arun Patidar
Level 3
January 9, 2023

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 
 

 

 

https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager-assets/asset-direct-link-is-downloading-not-open-asset-on-new-tab/td-p/290097