gpt4 book ai didi

java - derby 中的图像数据类型和 BLOB 数据类型

转载 作者:行者123 更新时间:2023-11-29 05:31:01 25 4
gpt4 key购买 nike

我想把图片插入derby数据库

我遵循的步骤:

从文档中读取图片:

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;
}

将图像插入derby数据库:

a) 我用“BLOB”数据类型创建了列图像

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();
}

我不知道在 InputStream f=new FileInputStream(img[k]); 这一步做什么

如何转换我的图像数据类型并将其放在这里?

你能帮我解决一下吗?

最佳答案

我终于得到了我的查询的答案

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();

关于java - derby 中的图像数据类型和 BLOB 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21074634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com