我将图片上传到服务器,其位置如下: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 transparency = 1 has alpha = false isAlphaPre = false ByteInterleavedRaster:width = 418 height = 387 #numDataElements 3 dataOff [0] = 2 |#]
但是,这不是我需要的。我需要图像的内容,需要将它存储在MySQL的BLOB列中。请帮助我,因为我一直在尝试各种方法,如ByteArrayInputStream,但每次我只看到这个信息而不是图像本身。
答案 0 :(得分:0)
虽然这不是您正在寻找的答案,但我的建议是将图像存储在服务器的文件系统中,并将文件名(可能是目录)保存在数据库中。除非有特殊原因,否则将图像存储在BLOB单元格中通常不是一个好主意。