0

我有一张图片上传到服务器,位置如下:opt/glassfish/domains/domain1/applications/j2ee-modules/SmartbadgePortal/images/2badge.jpg

我正在尝试读取图像的内容而不是图像信息。我搜索了很多,可以得到以下解决方案:

                   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: type = 5 ColorModel: #pixelBits = 24 numComponents = 3 color space = java.awt.color.ICC_ColorSpace@722270 透明度 = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster: width = 418 height = 387 #numDataElements 3数据关闭[0] = 2|#]

但是,这不是我需要的。我需要图像的内容,并且需要将其存储在 MySQL 的 BLOB 列中。请帮忙,因为我一直在尝试各种方法,如 ByteArrayInputStream ,但每次我只看到这个信息而不是图像本身。

4

1 回答 1

0

尽管这不是您要寻找的答案,但我的建议是将图像存储在服务器的文件系统中,并将文件名(可能还有目录)保存在数据库中。除非有特定原因,否则将图像存储在 BLOB 单元中通常不是一个好主意。

于 2012-01-29T23:36:28.013 回答