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

Przechowywanie pliku w postgresie za pomocą node-postgres

Sztuczka polega na zakodowaniu w postaci szesnastkowej i poprzedzeniu pliku przedrostkiem \x. Odczytanie go z powrotem jest rzeczywiście obsługiwane przez parseByteA, który zwraca bufor:

https://github.com/brianc/node-postgres /blob/master/lib/textParsers.js

Oto, co zrobiłem, aby odczytać obraz z dysku na postgres 9.2.2 i node.js 0.8.16 oraz node-postgres (npm package='pg') 0.11.2:

      fs.readFile(loc_on_disk, 'hex', function(err, imgData) {
        console.log('imgData',imgData);
        imgData = '\\x' + imgData;
        app.pgClient.query('insert into image_table (image) values ($1)',
                           [imgData],
                           function(err, writeResult) {
          console.log('err',err,'pg writeResult',writeResult);
        });
      });

i co zrobiłem, żeby to odpisać

app.get('/url/to/get/', function(req, res, next) {
  app.pgClient.query('select image from image_table limit 1',
                     function(err, readResult) {
    console.log('err',err,'pg readResult',readResult);
    fs.writeFile('/tmp/foo.jpg', readResult.rows[0].image);
    res.json(200, {success: true});
  });
});



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dataframe.to_sql index jako klucz podstawowy w postgresql

  2. PostgreSQL:wstaw z innej tabeli

  3. Django-DB-Migration:nie można ALTER TABLE, ponieważ ma oczekujące zdarzenia wyzwalające

  4. Postgresql - tworzenie kopii zapasowej bazy danych i przywracanie na innego właściciela?

  5. SQLAlchemy, PostgreSQL i array_agg:Jak wybrać elementy z array_agg?