Need to fetch metadata properties of assets through sling models | Community
Skip to main content
lovepreetk75597
Level 2
May 6, 2019 10:09 AM UTC
Solved

Need to fetch metadata properties of assets through sling models

Hi,

I have one requirement where i need fetch asset path or asset's metadata properties using sling models. Does anyone have any idea how could we achieve this.

Regards,

Lovepreet

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
arunpatidar
arunpatidarAccepted solution
New Participant
May 6, 2019 11:01 AM UTC

you can try something like below:

@Model(adaptables = { Resource.class, SlingHttpServletRequest.class })

public class ImageMetadataModel {

@Inject

@Optional

private String assetPath;

@SlingObject

private ResourceResolver resourceResolver;

public String getProperty () {

Resource resource = resourceResolver.getResource(assetPath);

String property = “”;

if (resource != null) {

Asset asset = resource.adaptTo(Asset.class);

property = asset.getMetadataValue("dc:title");

}

return property;

}

}

Arun Patidar

2 replies

smacdonald2008
Level 10
May 6, 2019 10:41 PM UTC

As Arun has pointed out - you must use the Asset API to perform this use case.

Translate
arunpatidar
arunpatidarAccepted solution
New Participant
May 6, 2019 11:01 AM UTC

you can try something like below:

@Model(adaptables = { Resource.class, SlingHttpServletRequest.class })

public class ImageMetadataModel {

@Inject

@Optional

private String assetPath;

@SlingObject

private ResourceResolver resourceResolver;

public String getProperty () {

Resource resource = resourceResolver.getResource(assetPath);

String property = “”;

if (resource != null) {

Asset asset = resource.adaptTo(Asset.class);

property = asset.getMetadataValue("dc:title");

}

return property;

}

}

Translate
Arun Patidar