2011-09-25 78 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響應,並設置必要的標題。
相關問題