我有一个Grails网络应用程序。目前我正在为我的用户提供静态图像文件。我在StackOverflow上看到这篇文章讨论了一个关于将图像作为流提供的解决方案,以隐藏它的来源。我的问题是,是否有一些交易,比如在服务器上加载,因为它需要打开一个套接字才能将它流式传输给用户v.s只是将其作为静态文件提供?
// controller action
def displayGraph = {
def img // byte array
//...
response.setHeader('Content-length', img.length)
response.contentType = 'image/png' // or the appropriate image content type
response.outputStream << img
response.outputStream.flush()
}
然后,您可以在标签的src中访问您的图像,如下所示:
<img src="${createLink(controller: 'myController', action: 'displayGraph')}"/>
答案 0 :(得分:0)
response.outputStream << img
response.outputStream.flush()
如果你的意思是:http://en.wikipedia.org/wiki/Streaming_media
,这不是流媒体它只是使用Java OutputStream来提供响应内容 - 这是在服务器上完成的,并且响应被返回给客户端。没有插座保持打开状态。