用oracle 的 blob字段
在java中将图片写一个流,传进去。
在java中将图片写一个流,传进去。
解决方案 »
- 兄弟姐妹们,帮帮忙啊
- 请问weblogic下的webservice如何获得客户端IP
- jsp路径问题
- 一个Hibernate 的面试题, 现场分析问题
- 请问那里能够找到Java开源资料
- 请问高手啊...访问不到服务器....
- 请教下Spring中多数据源问题。[不知道是javaeye大神多还是csdn多,各种求教]
- 关于站点内权限访问控制问题!
- java实现任务栏(屏幕右下角)里的托盘图标
- 实在是郁闷的不行了,有关DataSource问题,向大虾求救啊
- 请教一个PrintWriter的问题,急
- 新手菜问题:更改JSP文件后,为什么在localhost:7001/文件名.jsp看到的还是以前的?
是BLOB吧?
import java.io.*;
class BlobTest {
public static void main(String args[]){
try{
RandomAccessFile raf = new RandomAccessFile("DukeTest.bmp","rw");
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@your_server:1521:your_sid","user","password");
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO BlobTest valueS( ?, ? )" );
pstmt.setString( 1, "photo1");
File imageFile = new File("duke.gif");
InputStream is = new FileInputStream(imageFile);
pstmt.setBinaryStream( 2, is, (int)(imageFile.length()));
pstmt.executeUpdate();
pstmt = conn.prepareStatement("SELECT image FROM BlobTest WHERE name = ?");
pstmt.setString(1, "photo1");
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
Blob blob = rs.getBlob(1);
int length = (int)blob.length();
byte [] _blob = blob.getBytes(1, length);
raf.write(_blob);
}
System.out.println("Completed...");
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}