【发布时间】:2012-01-29 23:21:10
【问题描述】:
我有一张图片上传到服务器,位置如下: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 dataOff[0] = 2|#]
但是,这不是我需要的。我需要图像的内容,并且需要将其存储在 MySQL 的 BLOB 列中。请帮忙,因为我一直在尝试各种方法,例如 ByteArrayInputStream ,但每次我只看到这个信息而不是图像本身。
【问题讨论】:
-
如果您尝试使用 Java 执行此操作,您可以查看此链接 - roseindia.net/jdbc/save_image.shtml
-
如何在标准输出控制台上看到图像?您看到的信息是由您正在使用的
Image类的toString()方法生成的字符串。在您在这里开始提问之前,您应该查看互联网上提供的一些教程。你的尝试与你真正想要完成的目标相去甚远 -
@BrianHoover:非常感谢。那行得通!
标签: mysql blob bytearrayinputstream