使用Node.js,Express和Knex将PDF文件上传并检索到PostgreSQL

时间:2018-07-19 10:14:57

标签: node.js postgresql express knex.js

我正在尝试使用Node.js,Express和Knex从PostgreSQL Db上传和检索PDF文件。

数据库列文档文件的文件类型为Bytea。

该文件似乎正在上载到数据库并返回。生成的PDF文件(test3.pdf)不想打开。我已经为此苦苦挣扎很长时间了。任何帮助将不胜感激!

Node.js代码上传文件:

app.get('/uploadfile', (req,res) =>{
     fs.readFile('0203.pdf' function(err, imgData) {
        console.log(imgData)
        knex('documenttable').insert(
           {documentname: '0203.pdf',
            documentfile: [imgData]
          })
          .then( function (result) {
                res.end(console.log("Document uploaded To DB"));
        });
    }); 
});

Node.js代码以检索文件:

app.get('/dbfileback', function(req, res, next) {
  knex('documenttable').where({
      documentnumber: '1'
    }).select('documentname', 'documentfile')
      .then( function (result) {
          fs.writeFile('test3.pdf', result[0].documentfile,'binary');
          res.end(console.log("Done"));
        });
  });

0 个答案:

没有答案