2011-09-25 36 views
3

我已经通过字符串缓冲区使用cassandra Hector API读取了jpg/png文件。 现在我想在HTML页面上显示该文件。在Apache Cassandra中存储并显示图像文件

有什么办法可以在html页面上显示该文件,而不会在本地文件系统上创建临时文件。因为我已经在集群模式下设置了Cassandra,并且不想限制我使用一台机器来存储这些临时文件。

+1

被重新标记为这可能主要取决于Web服务器的功能。你基本上需要能够通过HTTP服务一个内存中的图像... – DNA

+0

我也想补充一点,你可能想要将它表示为byte []或ByteBuffer,而不是字符串缓冲区。 – jbellis

回答

2

由于您已经检索到图像数据,因此您有一种提供图像字节数组的服务。 您可以将一个servlet映射到特定的URL(例如,/imagepreview),在URL中您将拥有图像的ID。该id可以是路径的一部分(以RESTful方式)或URL参数 - 这是您的选择。

在HTML文件中,您可以添加图片标记“IMG”和“src”属性将具有URL与某些图片ID servlet的下一步。就像这样:

<img src="/imagepreview?id=83745"></img> 

这里被简化服务请求的路径:

  • 的servlet将“知道”如何读取图片ID
  • 它将使用图像服务检索图像字节
  • 它将用字节填满HTTP响应,并设置必要的标题。
相关问题