Я сохранил Blob (PNG-файл) в базе данных примерно так:
File file = new File( "image.png" );
FileInputStream fis = new FileInputStream( file );
statement.setBinaryStream( 1, fis, (int) file.length() );
В настоящее время я использую этот процесс, чтобы получить изображение Blob из БД и преобразовать его обратно в изображение для использования.:
Blob blob = results.getBlob( 1 );
ImageIcon imageIcon = new ImageIcon( blob.getBytes( 1L, (int) blob.length() ) );
Однако мне нужен метод, чтобы поместить изображение обратно в базу данных (после того, как я его изменил) из ImageIcon, не создавая файл, сохраняя его на диск, затем читая его обратно вс FileInputSteam.
отредактируйте для ясности Хорошо, скажем, у меня есть это изображение, хранящееся в Label как ImageIcon.Единственный способ, которым я знаю, как поместить это в базу данных, это прочитать из FileInputStream, но это будет включать в себя бессмысленное создание файла изображения.Итак, как мне прочитать Image из ImageIcon обратно как BinaryStream или Blob обратно в базу данных?