sql >> Databáze >  >> RDS >> PostgreSQL

Uložení souboru v postgres pomocí node-postgres

Trik je zakódovat jako hex a před soubor přidat \x. Čtení zpět je skutečně podporováno prostřednictvím parseByteA, který vrací vyrovnávací paměť:

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

Zde je to, co jsem udělal, abych přečetl obrázek z disku na postgres 9.2.2 a node.js 0.8.16 a 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);
        });
      });

a co jsem udělal, abych to napsal zpět

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. Jak pivotovat? Jak převést více řádků na jeden řádek s více sloupci?

  2. Hostitel MySQL '::1' nebo '127.0.0.1' se nemůže připojit k tomuto serveru MySQL

  3. Pochopení indexů v MySQL:Část třetí

  4. PŘIPOJIT (VYBRAT ... ) ue ON 1=1?