Java代碼實現對sqlserver數據庫表的image字段圖片的讀取,和輸出存儲到本地
由于表image字段圖片存的內容是二進制值,如何輸出保存到本地:
代碼示例:(注:連接sqlserver數據庫需配置其驅動文件)
public static void main(String[] args) {try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection con = DriverManager.getConnection("jdbc:sqlserver://192.168.xx.xx:1433;DatabaseName=xxxxxx", "username", "password");Statement stmt = con.createStatement();ResultSet rs;String strSql = "SELECT ScanPage FROM table_name where field1 = 'xxxxxx'";rs = stmt.executeQuery(strSql);while (rs.next()) {Blob blob = rs.getBlob("ScanPage");InputStream in = blob.getBinaryStream();DataOutputStream dos= new DataOutputStream(new BufferedOutputStream(new FileOutputStream( "D:/work/testdata/" + "xxxxxx_" + System.currentTimeMillis() + ".jpg")));// 讀出流
// in = rs.getBinaryStream("ScanPage");int len = 0;byte[] b = new byte[1024];while ((len = in.read(b)) != -1) {dos.write(b, 0, len);}dos.close();in.close();}rs.close();} catch (Exception e) {e.printStackTrace();}
}
運行: