2012-01-29 193 views
0

我上傳到服務器的圖像的位置,如:選擇/ GlassFish實現/域/域1 /應用/ J2EE模塊/ SmartbadgePortal /圖片/ 2badge.jpg存儲在MySQL數據庫中的BLOB

我想讀取圖像的內容而不是圖像信息。我搜索了很多,可以得到以下解決方案:

    File uploadedFile = new File(path); 
        System.out.println("Uploaded File is *** : " + uploadedFile); 
        item.write(uploadedFile); 
        Image image = null; 
        image = ImageIO.read(uploadedFile); 
        System.out.println("Image Contents is *** : " + image); 

但是,當我用System.out打印「圖像」。我得到:

映像內容是*:的BufferedImage @ 10d7a81:類型= 5的ColorModel:#pixelBits = 24個numComponents = 3顏色空間= [email protected]透明度= 1具有α-=假isAlphaPre = false ByteInterleavedRaster:width = 418 height = 387 #numDataElements 3 dataOff [0] = 2 |#]

但是,這不是我所需要的。我需要圖像的內容並需要將其存儲在MySQL中的BLOB列中。請幫助,因爲我一直在嘗試各種方法,如ByteArrayInputStream的,但每次我只看到這個信息,而不是圖像本身。

+0

如果你試圖用Java來做到這一點,你可以看看這個鏈接 - http://www.roseindia.net/jdbc/save_image.shtml – 2012-01-29 23:28:10

+0

你怎麼能看到標準輸出控制檯上的形象?您看到的信息是由您使用的是'Image'類的'的toString()方法'生成的字符串。在您開始提問之前,您應該查看互聯網上的一些教程。您嘗試遠離你真的想完成 – 2012-01-29 23:35:32

+0

@BrianHoover什麼:非常感謝。這工作! – 2012-01-30 08:46:42

回答

0

儘管這不是你要找的答案,我的建議是存儲在您的服務器的文件系統中的圖像和您的數據庫保存的文件名(也許目錄)。除非有特定的原因,否則將圖像存儲在BLOB單元中通常不是一個好主意。