首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用基础图像组件显示SVG图像

使用基础图像组件显示SVG图像
EN

Stack Overflow用户
提问于 2014-08-22 04:39:30
回答 1查看 982关注 0票数 1

我正在尝试使用CQ5.6中的Image组件在页面上包含SVG图像。我可以通过将图像从内容查找器拖到组件来让组件使用SVG,但这也会在日志中导致一个错误:

代码语言:javascript
复制
Caused by: javax.imageio.IIOException: No decoder available to load the image
    at com.day.image.Layer.<init>(Layer.java:786)
    at com.day.image.Layer.<init>(Layer.java:588)
    at com.day.image.Layer.<init>(Layer.java:511)
    at com.day.cq.commons.ImageHelper.createLayer(ImageHelper.java:173)
    at com.day.cq.commons.ImageResource.getLayer(ImageResource.java:569)
    at libs.foundation.components.parbase.img_GET.writeLayer(img_GET.java:72)
    at com.day.cq.wcm.commons.AbstractImageServlet.doGet(AbstractImageServlet.java:80)
    at org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:268)
    at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:344)
    at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:375)
    at org.apache.sling.scripting.java.impl.ServletWrapper.service(ServletWrapper.java:126)
    at org.apache.sling.scripting.java.impl.JavaScriptEngineFactory.callServlet(JavaScriptEngineFactory.java:211)
    ... 88 more

我曾多次尝试通过包含javax.imageio的SVG实现来添加对SVG的支持,但尚未成功。我最接近成功的是使用蜡染,在这种情况下,CQ5似乎陷入了Layer.java:769-781的无限循环中。

有没有人设法让OOTB Image组件与SVG图像一起工作?

EN

回答 1

Stack Overflow用户

发布于 2014-11-21 19:32:29

我遇到了同样的问题。我尝试从CRX手动下载该文件,并在我的默认图像查看器中打开它。不幸的是,我的默认图像查看器也给出了同样的错误。

对我来说,问题在于上传部分图片。我传入的InputStream JCRUtil.put跳过了一些字节的写入,因为我在写入之前使用了TikaInputStream来验证上传文件的mediaType。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25435551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档