- 如何用Java根據存在於sqlserver2000中的圖片路徑把圖片讀取出來
-
把圖片都放在一個文件夾裡,用sqlserver2000存圖片路徑,路徑該怎麼寫?如何用Java jdbc橋接方式把圖片讀取出來?希望高手指導
最佳回答:
首先我們在sqlserver是有《圖片》這個字段用於存貯圖片信息的,那我們就解析並輸出圖片,java讀取sqlserver 《圖片》字段圖片並輸出你的圖片文件夾要在項目下,數據庫中寫成絕對路徑
public class GetPhoto {
/**
- @param args
*/
public Connection getCon(){
try{
//連接SQLServer2000
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://10.10.21.240:1433;DatabaseName=AIO20070916165839;SelectMethod=cursor","oa","caini");
return con;
}catch(Exception ex){
ex.printStackTrace();
}
return null;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
GetPhoto getPhoto = new GetPhoto();
getPhoto.readImgFromDb();
}catch(Exception ex){
ex.printStackTrace();
}
}
public void readImgFromDb(){
Connection con = null;
try{
con = getCon();
OutputStream out = new FileOutputStream("d:/new.jpg");
Statement st = con.createStatement();
//這裡取出你想要的指定的那一條的數據
ResultSet rs = st.executeQuery("select * from Hrms_Photo where EmpID = '2'");
if(rs.next()){
int tmpi=0;
InputStream ins= rs.getBinaryStream("圖片字段");
while((tmpi=ins.read())!=-1){
out.write(tmpi);
}
ins.close();
out.flush();
out.close();
System.out.println("Reading from database to file d:/new.jpg success");
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
if (con!=null){
try{
con.close();
}catch(Exception ex){
ex.printStackTrace();
}
}
con = null;
}
}
}