java blob存取图片
2014-04-29 14:24
513 查看
1. 存入图片
2. 修改图片
3. 读取图片
Connection con=db.conn; PreparedStatement pstmt; //File file = upload; FileInputStream inputImage = new FileInputStream(upload); byte[] buf = new byte[inputImage.available()]; inputImage.read(buf); con.setAutoCommit(false); System.out.println("**before sql**"); try { pstmt = con.prepareStatement("insert into zzbj_rs_region_detail(id,region_Id,coordinate1,coordinate2,coordinate3,table_Name,rs_id,icon,createTime) values(" + rdb.getId()+ ","+ rdb.getRegionId()+ ","+ rdb.getCoor1()+ ","+ rdb.getCoor2()+ ","+ rdb.getCoor3()+ ",'" + rdb.getTableName()+ "',"+ rdb.getRsId() + ",empty_blob(),sysdate)");//先存入空blob 再修改,可以存入大的图片,首次插入有大小限制,小图片没问题,大了就会报异常 pstmt.executeUpdate(); System.out.println("**afer sql**"); ResultSet rs = pstmt.executeQuery("SELECT icon FROM zzbj_rs_region_detail where id="+ rdb.getId() + " for update"); if (rs.next()) { oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("icon"); OutputStream out = blob.getBinaryOutputStream(); out.write(buf); out.flush(); out.close(); } } catch (SQLException e) { e.printStackTrace(); } con.commit();
2. 修改图片
FileInputStream inputImage = new FileInputStream(upload); byte[] buf = new byte[inputImage.available()]; inputImage.read(buf); con.setAutoCommit(false); PreparedStatement pst=con.prepareStatement("SELECT icon FROM zzbj_rs_region_detail where id="+ rdb.getId() + " for update"); ResultSet rs = pst.executeQuery(); if (rs.next()) { oracle.sql.BLOB blob = (oracle.sql.BLOB)rs.getBlob("icon"); OutputStream out = blob.getBinaryOutputStream(); out.write(buf); out.flush(); out.close(); } con.commit();
3. 读取图片
Connection con=db.conn; Statement stmt = con.createStatement(); String sql = "select background from zzbj_rs_region where id='"+id+"' "; ResultSet rs =db.query(sql); if (rs.next()){ oracle.sql.BLOB b = (oracle.sql.BLOB) rs.getBlob("background"); long size = b.length(); byte[] bs = b.getBytes(1, (int) size); res.setContentType("image/jpeg"); OutputStream outs = res.getOutputStream(); if(size>1){ outs.write(bs); outs.flush();} db.closeDb(); }
相关文章推荐
- ASP.NET如何存取SQL Server数据库图片
- Java实现对Mysql的图片存取操作
- 在沙盒中存取图片
- 在ASP.NET中存取图片到数据库的示例
- 缓存存取图片
- sqlite3的图片的(二进制数据)存取操作
- ASP.NET中存取图片到数据库的示例
- C#在SQL2005存取图片
- 照葫芦画瓢,用ASP.NET 2.0在Oracle中存取图片(文件)的操作
- 怎样用asp.net存取并显示sql sever2000中的图片数据呀?(转)
- Android下载图片 图片的异步加载 和缓存存取
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
- hibernate存取图片示例
- 关于数据库存取图片的些许事例
- 图片在数据库中的存取
- Sqlite数据库图片存取
- ASP.NET如何存取SQL Server数据库图片(转)
- Delphi SQL数据库存取图片(利用流)
- springmvc结合base64存取图片到mysql
- Jsp存取图片在MySql数据库中__实例