sql >> Databáze >  >> RDS >> Mysql

Uložení obrázku v MySQL z Javy

Převádíte byte[] na řetězec ve svém příkazu SQL a skončíte s nesprávnými daty.

Správným způsobem použití objektu BLOB by bylo předat InputStream sám. Můžete použít FileInputStream který používáte ke čtení souboru.

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

Když jej načtete zpět, můžete podobně získat InputStream z ResultSet :

InputStream imgStream = resultSet.getBinaryStream(2); 



  1. Vkládání dat do tabulky MySQL pomocí VB.NET

  2. Jak zabránit překročení max_user_connections při opakovaném načítání/obnovování stránky?

  3. Načítání dat z RDS dává AttributeError:objekt 'sqlalchemy.cimmutabledict.immutabledict' nemá žádný atribut 'setdefault'

  4. verze ovladače oracle jdbc šílenství