您正在将sql语句中的byte []转换为String,最终将得到不正确的数据。
使用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);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)