java数据库 存取图片
2011-05-20 15:53
495 查看
图片存入数据库中:先将图片转换成二进制流,在将其存入数据库中,字段类型为image
/*引的包*/
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import java.awt.Image;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
/*存图片到数据库*/
public insertImage(String path, String number){
FileInputStream fi = null;
String path2 = path.replaceAll("////
", "////////
"); //转换图片路径格式 为 E://1.jpg
try {
连接数据库
.....
PreparedStatement pstm = conn.prepareStatement("insert into DBImg (image) values (?)");
fi = new FileInputStream(path2);
pstm.setBinaryStream(1, fi, fi.available());
pstm.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fi != null) {
try {
fi.close(); //关闭文件流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
关闭数据库连接
}
}
读出图片并显示在JLabel上
import java.awt.*;
import java.applet.*;
import java.awt.image.BufferedImage;
import com.mhl.db.SqlConnection;
import com.sun.image.codec.jpeg.*;
import javax.swing.*;
import java.sql.*;
import java.io.*;
public class DisplayImg {
public DisplayImg() {
Image img = null;
/*数据库连接,其SqlConnection 为自定义数据库连接类*/
SqlConnection sqlconn;
sqlconn = new SqlConnection();
Connection conn = sqlconn.getConnection();
try {
Statement stmt = conn.createStatement();
String sql = "select image from DBImg where id =4";
ResultSet rs = stmt.executeQuery(sql);
rs.next();
InputStream in = rs.getBinaryStream(1);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
img = decoder.decodeAsBufferedImage();
rs.close();
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
JFrame f = new JFrame();
JLabel label = new JLabel();
ImageIcon icon = new ImageIcon(img);
label.setIcon(icon);
JScrollPane jsp = new JScrollPane(label);
Container content = f.getContentPane();
content.add(jsp);
f.setSize(535, 400);
f.setVisible(true);
}
public static void main(String args[]) {
DisplayImg di = new DisplayImg();
}
}
/*引的包*/
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import java.awt.Image;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
/*存图片到数据库*/
public insertImage(String path, String number){
FileInputStream fi = null;
String path2 = path.replaceAll("////
", "////////
"); //转换图片路径格式 为 E://1.jpg
try {
连接数据库
.....
PreparedStatement pstm = conn.prepareStatement("insert into DBImg (image) values (?)");
fi = new FileInputStream(path2);
pstm.setBinaryStream(1, fi, fi.available());
pstm.execute();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (fi != null) {
try {
fi.close(); //关闭文件流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
关闭数据库连接
}
}
读出图片并显示在JLabel上
import java.awt.*;
import java.applet.*;
import java.awt.image.BufferedImage;
import com.mhl.db.SqlConnection;
import com.sun.image.codec.jpeg.*;
import javax.swing.*;
import java.sql.*;
import java.io.*;
public class DisplayImg {
public DisplayImg() {
Image img = null;
/*数据库连接,其SqlConnection 为自定义数据库连接类*/
SqlConnection sqlconn;
sqlconn = new SqlConnection();
Connection conn = sqlconn.getConnection();
try {
Statement stmt = conn.createStatement();
String sql = "select image from DBImg where id =4";
ResultSet rs = stmt.executeQuery(sql);
rs.next();
InputStream in = rs.getBinaryStream(1);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in);
img = decoder.decodeAsBufferedImage();
rs.close();
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
JFrame f = new JFrame();
JLabel label = new JLabel();
ImageIcon icon = new ImageIcon(img);
label.setIcon(icon);
JScrollPane jsp = new JScrollPane(label);
Container content = f.getContentPane();
content.add(jsp);
f.setSize(535, 400);
f.setVisible(true);
}
public static void main(String args[]) {
DisplayImg di = new DisplayImg();
}
}
相关文章推荐
- 通过java或jsp向数据库存取二进制图片
- 通过Java或Jsp向数据库存取二进制图片
- 用Java或Jsp向数据库存取二进制图片
- 用Java或Jsp向数据库存取二进制图片
- 通过java或jsp向数据库存取二进制图片
- 通过java或jsp向数据库存取二进制图片
- 用Java或Jsp向数据库存取二进制图片
- 图片存取数据库(java)
- 如何通过java或jsp向数据库存取二进制图片
- 使用C#进行图片的数据库存取
- 漫谈Java数据库存取技术
- Java数据库的存取技术
- Java实现MySQL图片存取操作
- java jdbc(三)应用实例--向数据库中存储,读取图片和文件
- ASP.NET中存取图片到数据库的示例(C#)
- 漫谈Java数据库存取技术
- 小谈c#数据库存取图片的方式
- java实现图片旋转保存到数据库
- 数据库存取图片
- Java实现MySQL图片存取操作