从Grails控制器渲染视频内容

毫无疑问,另一个愚蠢的新问题!我在Grails控制器中有一个字节数组,其中包含视频文件的内容(确切地说是一个* .mp4文件).我熟悉如何从grails控制器渲染
JSON,XML和其他基本类型,但我找不到任何显示如何输出视频的示例.本质上我想做以下事情:

  render bytes as MP4

我意识到我可能需要一个构造,例如:

  render(text:"<xml>some xml</xml>",contentType:"video/mpeg",encoding:"UTF-8")

但是我不清楚我是如何获得字节数组的.显然我不是渲染类似HTML的内容的专家.我一直躲在库函数后面太久了!任何指向参考或示例的指针都将非常感激.

因此,如果它有助于将建议指向正确的方向,那么带有视频的字节来自我正在使用jets3t库读取的S3对象.

最佳答案

    OutputStream out = response.getOutputStream()
    //set up byte array
    byte[] content = yourS3Object.getBytes()


    response.setContentLength(content.size())
    response.addHeader("Content-disposition", "attachment; filename=${yourS3Object.fileName}")
    response.addHeader("Content-type", "video/quicktime")
    out.write(content)
    out.close()

这应该够了吧.

点赞