首页 > 解决方案 > 使用 Node.js、Express 和 Knex 将 PDF 文件上传和检索到 PostgreSQL

问题描述

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

DB 列文档文件是文件类型 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"));
        });
  });

标签: node.jspostgresqlexpressknex.js

解决方案


推荐阅读