下面的代码用于获取和设置字符串的属性,这就是定义图像的数据类型,profile_picture是图像的变量。我要将图像存储在DB中。
private Long id;
public String first_name() {
return first_name;
}
public void setfirst_name(String first_name) {
this.first_name =first_name;
答案 0 :(得分:3)
URL iconURL = new URL("");
// iconURL is null when not found
ImageIcon icon = new ImageIcon(iconURL);
Image i = icon.getImage();
Image i;
是存储图像的变量,您可以从那里使用它。
干杯。
修改我建议您不要将整个图像保存在数据库中,只需将路径保存到图像....
答案 1 :(得分:3)
如果你在中没有图像处理,你可以存储字节byte[]
或数据库级别(SQL BLOB,二进制大对象),SerialBlob
(实现接口Blob
)。
将图像维护为仅包含数据库中路径的文件,也有其优点。在混合方法中,您可以将文件读/写到blob数据库列,只需使用Input / OutputStream来节省内存。
答案 2 :(得分:2)
您可以使用其中任何一个来表示2D图像 -
修改:要在数据库中保存图片,您可以使用以下代码段将BufferredImage
转换为byte[]
(然后将其另存为数据库中的BLOB
) -
try{
BufferedImage originalImage =
ImageIO.read(new File("path/to/image/imag.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( originalImage, "jpg", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
//save imageInByte as blob in database
}catch(IOException e){
System.out.println(e.getMessage());
}finally{
baos.close();
//close database connection
}
答案 3 :(得分:1)
File f = new File("D:/New Doc_1.jpg");
int length = (int)f.length();
FileInputStream fis = new FileInputStream(f);
pstmt.setBinaryStream(3, fis,length);
int i = pstmt.executeUpdate();