Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapisywanie obrazu w MySQL z Javy

Konwertujesz byte[] na ciąg znaków w swoim oświadczeniu sql i otrzymasz nieprawidłowe dane.

Właściwym sposobem użycia BLOB byłoby przekazanie InputStream samo. Możesz użyć FileInputStream używasz do czytania pliku.

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() );

Kiedy go odzyskasz, możesz w podobny sposób uzyskać InputStream z 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. Zapisywanie zmian w SlickGrid za pomocą php

  2. mysql_fetch_array dodać wszystkie wiersze?

  3. błąd mysql:przekroczono maksymalną liczbę połączeń na godzinę

  4. Nie można wydać instrukcji manipulacji danymi za pomocą executeQuery()

  5. jak wykonać polecenie mysql DELIMITER