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 色空間 = java.awt.color.ICC_ColorSpace@722270 透明度 = 1 アルファあり = false isAlphaPre = false ByteInterleavedRaster: 幅 = 418 高さ = 387 #numDataElements 3 dataOff[0] = 2|#]

しかし、これは私が必要とするものではありません。画像の内容が必要で、MySQL の BLOB 列に保存する必要があります。ByteArrayInputStream などのさまざまな方法を試しているので助けてください。ただし、画像自体ではなく、この情報のみが表示されるたびに。

4

1 に答える 1

0

探している答えではありませんが、イメージをサーバーのファイルシステムに保存し、ファイル名(および場合によってはディレクトリ)をDBに保存することをお勧めします。特別な理由がない限り、BLOBセルに画像を保存することは通常はお勧めできません。

于 2012-01-29T23:36:28.013 に答える