java如何将图片以2进制的形式存入数据库
2010-09-01 11:05
447 查看
存入图片 import java.sql.*; import java.io.*; public class InsertImg { public static void main(String args[]) { try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:DBImg"); String sql = "insert into DBImg (image) values (?)"; PreparedStatement pstmt=con.prepareStatement(sql); FileInputStream fi=new FileInputStream("./room.jpg"); pstmt.setBinaryStream(1,fi,fi.available()); pstmt.execute(); fi.close(); pstmt.close(); con.close(); }catch(Exception e){System.out.println(e.getMessage());} } } 把图片取出输出到文件 import java.io.*; import java.sql.*; public class ImgRead { public static void main(String args[]) { try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url="jdbc:microsoft:sqlserver://BILLGATES:1433"; Connection cn=DriverManager.getConnection(url,"sa","8310"); Statement st=cn.createStatement(); String str = "select img from test where id=1"; ResultSet rs=st.executeQuery(str); rs.next(); InputStream in=rs.getBinaryStream(1); FileOutputStream file = new FileOutputStream("./88.mp3"); byte c[] = new byte[1024]; int r = 0; while ((r = in.read(c)) != -1){ file.write(c,0,r); } file.close(); in.close(); } catch(Exception e) { e.printStackTrace(); } } } 把图片输出到JLabel控件 import java.awt.*; import java.applet.*; import java.awt.image.BufferedImage; import com.sun.image.codec.jpeg.*; import javax.swing.*; import java.sql.*; import java.io.*; public class DisplayImg { public DisplayImg(){ Image img=null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con=DriverManager.getConnection("jdbc:odbc:DBImg"); Statement stmt=con.createStatement(); String sql = "select image from DBImg"; ResultSet rs=stmt.executeQuery(sql); rs.next(); InputStream in = rs.getBinaryStream(1); JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(in); img=decoder.decodeAsBufferedImage(); rs.close(); con.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(); } } 上面的程序数据库驱动不一致,自行修改一下.其中在Sqlserver中要存放图片的字段应选"image"类型
相关文章推荐
- java如何将图片以2进制的形式存入数据库
- C#把图片以二进制形式存入数据库
- 如何把图片存入到数据库
- SQL语句中如何把文件以二进制数组形式存入数据库
- 如何通过java或jsp向数据库存取二进制图片
- 将图片以二进制代码形式存入数据库
- 如何将图片存入数据库中
- 图片以字节的形式存入数据库,下面是图片显示处理
- java如何将图片存入mysql数据库
- 将图片以二进制形式存入数据库中
- java hibernate 将图片存入数据库,并从数据库取出显示在网页上
- 如何将RichTextBox中的RTF格式的文档以二进制形式存入数据库中??
- java 把string数据转换成date数据存入mysql的问题,如何获取当前时间date存入数据库
- java怎么把图片以base64字节存入数据库,并将其显示到jsp页面上
- java如何指点年月日去生成时间,把生成的毫秒数存入到数据库
- 如何将RichTextBox中的RTF格式的文档以二进制形式存入数据库中??
- 中谷项目(九)—如何将图片存入数据库并从中读取
- 【JAVA秒会技术之搞定BLOB数据类型】如何读取及展示数据库中BLOB类型的图片
- java读取文件以字节流的形式读取 然后转化为字节流数组,最后经过SHA1加密生成返回16进制字符串存入数据库
- JAVA将图片以二进制形式存入Access数据库