sql >> Database >  >> RDS >> Mysql

Een afbeelding opslaan in MySQL vanuit Java

U converteert de byte[] naar een tekenreeks in uw sql-instructie en u krijgt onjuiste gegevens.

De juiste manier om een ​​BLOB te gebruiken is om de InputStream . door te geven zelf. U kunt de FileInputStream . gebruiken u gebruikt om het bestand te lezen.

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

Wanneer u het terughaalt, kunt u op dezelfde manier een InputStream . krijgen uit de ResultSet :

InputStream imgStream = resultSet.getBinaryStream(2); 



  1. mysql categorieën en subcategorieën lijst

  2. lastInsertId werkt niet in Postgresql

  3. Update-instructie met behulp van met clausule

  4. PRINT-instructie in T-SQL