Mysql
 sql >> база данни >  >> RDS >> Mysql

Записване на изображение в MySQL от Java

Преобразувате byte[] в низ във вашия sql оператор и в крайна сметка ще получите неправилни данни.

Правилният начин за използване на 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); 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Условия за състезание на MySQL

  2. Вмъкване на заявка за вмъкване на редове в MySQL

  3. Работа с cPanel MySQL бази данни

  4. Синтаксисът на MYSQL, който не се оценява, не е равен на при наличие на NULL

  5. Множество докер контейнери за mysql или един екземпляр с множество бази данни