Хранение BLOB в базе данных MySQL - PullRequest
0 голосов
/ 30 января 2012

У меня есть изображение, загруженное на сервер с таким местоположением, как: 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 | #]

Но это не то, что мне нужно. Мне нужно содержимое изображения и нужно сохранить его в столбце BLOB в MySQL. Пожалуйста, помогите, поскольку я пробовал различные методы, такие как ByteArrayInputStream, но каждый раз я вижу только эту информацию, а не само изображение.

1 Ответ

0 голосов
/ 30 января 2012

Хотя это не тот ответ, который вы ищете, я рекомендую сохранить изображение в файловой системе вашего сервера и сохранить имя файла (и, возможно, каталог) в вашей БД.Хранение изображения в BLOB-ячейке обычно не очень хорошая идея, если только для этого нет особой причины.

...