sql >> データベース >  >> RDS >> PostgreSQL

node-postgresを使用してpostgresにファイルを保存する

    秘訣は、16進数としてエンコードし、ファイルの前に\xを付けることです。それを読み戻すことは、バッファを返すparseByteAを介して実際にサポートされています:

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

    これが、postgres 9.2.2、node.js 0.8.16、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);
            });
          });
    

    そしてそれを書き戻すために私がしたこと

    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. docker-composeによるpostgresへのDjango接続

    2. エラー「製品「MySQLServer8.0.17」のアクション「インストール」が失敗しました」でMySQLServer8.0.17をインストールできません

    3. Ruby on Railsのインストールの問題(Windows)

    4. LIMITステートメントを無視してカウントクエリ結果を取得する