2015-10-19 14 views
-1

我是Java和Mongodb的新手。直到現在所有工作正常,但現在我完成卡住了。我可以在Mongodb中寫入和檢索圖像。但我怎麼能在屏幕上顯示他們。我知道我可以從文件夾中得到它們,但我喜歡直接從數據庫中顯示圖像,在這種情況下,因爲我學習,進入秋千。顯示來自mongodb到java swing的圖像

我想我需要將它們轉換?或者它是如何工作的?

Database dbb = new Database(mc, dba); 
DB dbc1 = dbb.getDatabase("aatestdb"); 
String newFileName = "test foto"; 
GridFS gfsPhotoa = new GridFS(dbc1, "photofile"); 
GridFSDBFile imageForOutput = gfsPhotoa.findOne(newFileName); 
System.out.println ("show i receive data"); 

// proof i got image from dbimageForOutput.writeTo("/Users/xyz/Pictures/foto_offshore_site/java_app.jpg"); 

回答

1

通常在Swing中,您可以使用JLabel和ImageIcon來顯示圖像。如果你可以將你的GridFSDBFile變成InputStream,你可以試試ImageIO.read(InputStream)這可能會也可能不會。如果它不起作用,你將不得不爲你正在銷售的特定類型的圖像獲取ImageReader

+0

我得到的是一個類型爲「GridFSDBFile」的文件,我無法通過Jlabel顯示該文件。我不能(至少我不知道如何)將其轉換爲圖像/圖標或我可以使用的任何東西。在這個示例中,我喜歡將imageForOutput轉換爲二進制或圖像類型(java),並將其返回給調用者「a swing/awt」程序,並確實用jlabel顯示它。但直到現在我還沒有成功。 – Antoine

+0

我已經更新了我的答案 – ControlAltDel