使用Grails控制器渲染和显示SVG文件

时间:2014-10-26 11:41:39

标签: grails svg grails-2.0 grails-controller

我想创建一个包含svg-images的表。这些图像是在处理表数据后生成的。

我的控制器看起来像这样:

def render(){
    byte[] array =  SvgExporter.export(imgsource)       
    render file: array, fileName: "my.svg", contentType: 'svg'
    }

在config.groovy的grails.mime.types下,我定义了

svg: 'image/svg+xml'

gsp上的表条目如下所示:

<img src="${createLink(controller: 'testview', action: 'render')}">

现在有趣的是,如果我使用PNG而不是SVG,则可以显示图像。

当我将上述代码与SVG一起使用时,图像不会显示在页面上。当我直接调用控制器时,会下载正确的svg-image。 有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您使用render向下发送了错误的mimetype。改为使用:

render contentType: 'image/svg+xml', ...

grails.mime.types中的映射并不意味着您可以快捷方式,但在内部使用grails。