как получить изображение, сохраненное как блоб - PullRequest
0 голосов
/ 16 мая 2019

Пожалуйста, помогите мне восстановить изображение, которое я сохранил как #blob в #mysql базе данных

Это мой код, который я использовал для сохранения изображения

    JFileChooser chooser = new JFileChooser();
    chooser.showOpenDialog(null);
    File f = chooser.getSelectedFile();

    filename =f.getAbsolutePath();
    ImageIcon imageIcon = new ImageIcon(new ImageIcon(filename).getImage().getScaledInstance(lbl_img.getWidth(), lbl_img.getHeight(), Image.SCALE_DEFAULT));
    lbl_img.setIcon(imageIcon);
  try {

        File image = new File(filename);
        FileInputStream fis = new FileInputStream (image);
        ByteArrayOutputStream bos= new ByteArrayOutputStream();
        byte[] buf = new byte[1024];

        for(int readNum; (readNum=fis.read(buf))!=-1; ){

            bos.write(buf,0,readNum);
        }
        person_image=bos.toByteArray();
    }

    catch(Exception e){
        JOptionPane.showMessageDialog(null,e.getMessage());

    }

Но когда я пытаюсьполучить мое изображение, используя

          byte[] img = rs.getBytes("IMAGE");
          ImageIcon imageIcon = new ImageIcon(new ImageIcon(img).getImage().getScaledInstance(lbl_image.getWidth(), lbl_image.getHeight(), Image.SCALE_SMOOTH));
          lbl_image.setIcon(imageIcon);

Это не дает никакой ошибки, но не получает изображение.Пожалуйста, помогите мне разобраться, где проблема

1 Ответ

0 голосов
/ 16 мая 2019

Используйте ImageIO.read для чтения этих байтов до BufferedImage

...