PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Przechowuj i pobieraj obrazy w Postgresql za pomocą Java

Rozdział 7 dokumentacji jdbc postgresql zajmuje się przechowywaniem danych binarnych i używa obrazu (pliku *.gif) jako przykładu. możesz go przeczytać.

wstawianie obrazu do bazy danych (z powyższego linku)

File file = new File("myimage.gif");
FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES (?, ?)");
ps.setString(1, file.getName());
ps.setBinaryStream(2, fis, (int)file.length());
ps.executeUpdate();
ps.close();
fis.close();

odczytywanie obrazu z bazy danych (również z powyższego linku)

// Get the Large Object Manager to perform operations with
LargeObjectManager lobj = ((org.postgresql.PGConnection)conn).getLargeObjectAPI();

PreparedStatement ps = conn.prepareStatement("SELECT imgoid FROM imageslo WHERE imgname = ?");
ps.setString(1, "myimage.gif");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
    // Open the large object for reading
    int oid = rs.getInt(1);
    LargeObject obj = lobj.open(oid, LargeObjectManager.READ);

    // Read the data
    byte buf[] = new byte[obj.size()];
    obj.read(buf, 0, obj.size());
    // Do something with the data read here

    // Close the object
    obj.close();
}
rs.close();
ps.close();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak oczyścić surowy SQL w Rails 4?

  2. BŁĄD:nie można uzyskać dostępu do pliku „$libdir/plpython2” – BŁĄD:nie można uzyskać dostępu do pliku „$libdir/plpython3”

  3. Jak działa date_part() w PostgreSQL

  4. FUNKCJA DROP bez znajomości liczby/rodzaju parametrów?

  5. Jaka jest domyślna nazwa ograniczenia w PostgreSQL?