我已經將圖像添加到MySql數據庫中。我試圖通過使用java創建一個新文件從數據庫中獲取圖像。問題是一切正常,圖像文件已經創建,但圖像文件不包含圖像,它什麼也沒有,並且新創建的圖像文件的大小不同於原始圖像..... Sql代碼:我們可以使用java從MySql數據庫獲取添加的圖像嗎?
CREATE TABLE `pictures` (`id` int(11) NOT NULL auto_increment, `description` varchar(20) default NULL, `photo` blob, PRIMARY KEY (`id`));
insert into pictures values('1','pic1','D:\java.jpg');
和Java代碼:
public class ReadBlobPicture
{
static String url = "jdbc:mysql://localhost:3306/imgdatabase";
static String username = "root";
static String password = "tiger";
public static void main(String[] args)
throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "SELECT photo FROM pictures where id=1";
Statement stmt = conn.prepareStatement(sql);
ResultSet resultSet = stmt.executeQuery(sql);
Object obj = resultSet;
while (resultSet.next())
{
File image = new File("E:\\java12.jpg");
FileOutputStream fos = new FileOutputStream(image);
System.out.println(resultSet.getString(1));
byte[] buffer = new byte[1];
InputStream is2 = resultSet.getBinaryStream(1);
System.out.println(is2.available());
while (is2.read() > 0)
{
fos.write(buffer);
fos.flush();
}
fos.close();
}
conn.close();
}
}
如何將字節數組轉換爲int.read()返回int。 – arindam 2010-01-30 07:55:58