Sithik SweetRascal
Sithik SweetRascal

Reputation: 91

Image datatype and BLOB datatype in derby

I want to insert image into derby database

Steps I followed:

Read images from the document:

public Image[] ReadImg() throws IOException {
    Image[] img;
    String[] pname;
    int[] imageid;
    int l;
    XWPFDocument doc = new XWPFDocument(new FileInputStream("import.docx"));
    BufferedImage jpg = null;
    List<XWPFPictureData> pic = doc.getAllPictures();
    int length = pic.size();
    img = new Image[length];
    pname = new String[length];
    for (int i = 0; i < length; i++) {
        XWPFPictureData pict = pic.get(i);
        pname[i] = pict.getFileName();
    }
    imageid = new int[length];
    imageid = sorting(pname, length);
    for (int i = 0; i < length; i++) {
        XWPFPictureData pict = pic.get(imageid[i]);
        System.out.println(pict.getFileName());
        byte[] data = pict.getData();
        jpg = ImageIO.read(new ByteArrayInputStream(data));
        String[] prop = jpg.getPropertyNames();
        img[i] = jpg;
    }
    return img;
}

Insert image into derby database:

a) I have created column image with "BLOB" datatype

for(int k=0;k<img.length;k++)
        {
        PreparedStatement stmt2 = con.prepareStatement("insert into APP.IMAGES(IMAGES) values(?)");
        InputStream f=new FileInputStream(img[k]);
        stmt2.setBlob(1, f);
        stmt2.executeUpdate();
        stmt2.close();
        }

I don't know what to do at the step InputStream f=new FileInputStream(img[k]);

How to convert my image datatype and put it here?

Could you please help me to resolve it?

Upvotes: 1

Views: 5130

Answers (1)

Sithik SweetRascal
Sithik SweetRascal

Reputation: 91

Finally I got the answer for my query

ByteArrayOutputStream b=new ByteArrayOutputStream();
        ImageIO.write(img[k], "jpeg", b);
        byte[] imageInByte = b.toByteArray();
        b.close();
        InputStream fis = new ByteArrayInputStream(imageInByte);
        stmt2.setBlob(1, fis);
        stmt2.executeUpdate();

Upvotes: 3

Related Questions