आप अपने एसक्यूएल स्टेटमेंट में बाइट [] को एक स्ट्रिंग में परिवर्तित कर रहे हैं, और आप गलत डेटा के साथ समाप्त हो जाएंगे।
BLOB का उपयोग करने का सही तरीका InputStream
. पास करना होगा अपने आप। आप FileInputStream
का उपयोग कर सकते हैं आप फ़ाइल को पढ़ने के लिए उपयोग कर रहे हैं।
File image = new File(path);
FileInputStream fis = new FileInputStream ( image );
String sql="insert into imgtst (username,image) values (?, ?)";
pst=con.prepareStatement(sql);
pst.setString(1, user);
pst.setBinaryStream (2, fis, (int) file.length() );
जब आप इसे वापस प्राप्त करते हैं तो आप इसी तरह InputStream
. प्राप्त कर सकते हैं ResultSet
. से :
InputStream imgStream = resultSet.getBinaryStream(2);