node.js - 使用 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"));
});
});
解决方案
推荐阅读
- .net-core - 使用事件时 Blazor 状态未在子组件之间更新
- vue.js - 安全共享使用不同图形框架 vuetify/quasar 构建的 npm 组件
- google-analytics - 使用 Google Analytics 的全局站点代码 (gtag.js) 测量滚动深度
- git - 更改 .gitconfig 的默认位置
- javascript - 我为视频、背景图像和图像编写了延迟加载,但它在 safari 上不起作用
- python - 自适应阈值错误:(-215:Assertion failed) src.type() == CV_8UC1 in function 'adaptiveThreshold'
- java - 什么是从 com.amazonaws.Response 提取响应正文到 JSON 字符串的最佳方法
- jenkins - jenkins 新触发的构建挂起等待其前身完成,而其前身已经完成
- node.js - 如何改进我的 Dockerfile 以完美地为 Angular 应用程序创建 Docker 映像?
- python - Python上的平均计算