Expand my Community achievements bar.

SOLVED

SVG is not showing on Google Chrome

Avatar

Level 2

[Thread Edited By Adobe]

/*Don’t forget to meet and greet your fellow peers virtually by telling them about yourself here

Go ahead and to it now: https://adobe.ly/3eDnB4v */

 

Actual Question:

Hi, I have some SVG files on my assets and I want use it on my component so a create a cq:dialog with a file field and on htl I am using properties global object, but the svg image are not working on chrome.

 

CODE:

file field:

 

<file

jcr:primaryType="nt:unstructured"

sling:resourceType="cq/gui/components/authoring/dialog/fileupload"

autoStart="{Boolean}false"

class="cq-droptarget"

fileNameParameter="./fileName"

fileReferenceParameter="./fileReference"

mimeTypes="[image/gif,image/jpeg,image/png,image/webp,image/tiff,image/svg]"

multiple="{Boolean}false"

name="./file"

title="Upload Image Asset"

uploadUrl="${suffix.path}"

useHTML5="{Boolean}true" />

 

HTL:

<img class="lines-about" src="${properties.fileReference}" alt="">

 

Result: Image not show if the image I select a SVG but if I select another type Image showing correctly.

desktop_exl_promo_600x100_weempoweryou.png

1 Accepted Solution

Avatar

Correct answer by
Level 3

Adobe advised to use the org.apache.sling.security-1.1.12.jar to fix this rendering issue. It worked for us. Thank you.

View solution in original post

18 Replies

Avatar

Administrator

Is it just happening on Chrome? Do you see any error on browser or AEM error.log?

If not then check this thread:- [AEM 6.3] Add SVG drag and drop support to Content Explorer

This seems to be similar.



Kautuk Sahni

Avatar

Level 2

I had test it on Chrome and Firefox, but the bug only happens on Chrome. I had no error on browser console or error.log. I already saw the another thread about SVG, but the errors is not similar with the my. I saw in some sites people have similar problems on another CMS or Applications Services they solve their erros just editing the .htaccess puting this rule "AddType image/svg+xml svg svgz
AddEncoding gzip svgz", but on AEM we haven't .htaccess, so it not work for us. 

Avatar

Level 2

But the plan HTML with <img src="mysvg.svg"> used on my component work well  even on Chrome. It stop work when I put the html on AEM component and I refer the image from AEM Assets folder.

Avatar

Level 10

So if you select another file type - it works?

Avatar

Administrator

This requires some debugging this could be some issue with the 3rd party lib for SVG rendition AEM uses.

Please create a Support ticket for this.

Try Workaround:- AEM can be configured with ImageMagick Best Practices for Configuring ImageMagick



Kautuk Sahni

Avatar

Level 2

Hi there.

I have the same problem.

We’ve created a page in Adobe AEM using DAM to serve image files. PNG image files are being served OK, but SVG image files are not being displayed correctly in Chrome (Firefox actually displays it).

The problem is: AEM http response should be returning “Content-Type:image/svg+xml” but it is actually returning “Content-Disposition: attachment; filename="yt.svg"”.

If I try to open the URL directly, Chrome doesn’t display the image (instead, it tries to download it), while Firefox displays it.

If I access other websites that uses SVG, it works OK, because their server is returning the correct HTTP response. Only content served by DAM is not OK.

Is there any solution to this annoying problem?

Avatar

Level 2

Same problem here.
I've tried to set the file under Apache Sling Content Disposition Filter to avoid it, but it seems no working as expected.

Even though it is not a suitable solution if is needed to set every image in that bundle configuration.

Does anyone find a solution?

Avatar

Correct answer by
Level 3

Adobe advised to use the org.apache.sling.security-1.1.12.jar to fix this rendering issue. It worked for us. Thank you.

Avatar

Level 6

This fix helps. But this works only for administrative users. This is still broken when logging in as Author. What is the permanent fix?

Avatar

Level 2

In AEM 6.4 I've check with different users in different environments:

Author admin: svg renders

Author with an author account: svg renders
Publish with anonymous account: svg renders

Avatar

Former Community Member

Hi,

what do you mean by use org.apache.sling.security-1.1.12.jar? Just add it as dependency? For me, it does not affect anything.

Thank you,

Tobi

Avatar

Level 2

Hi Tobias

Try to download the jar from the mvnrepository and installing it directly in the AEM instance http://localhost:4502/system/console/bundles

Avatar

Former Community Member

Thanks, that worked for me.

First I tried to install it with the package manager. That did - of cource - not work. I didn't know jars can be installed on the Felix consoles bundle page.

I learned something new. Thanks.

Avatar

Level 4

Installing an upgraded osgi org.apache.sling.security-1.1.16.jar corrects this issue (presumably adding the right headers into the response if  @fernandou23761826 's analysis of the problem is correct).

@ kautuksahni​ is this the official solution?  how will this get rolled out, do i need to include sling security jar as a provided dependency along with custom code?