0
我想通過服務器的NodeJS從客戶端發送的multipart/form-data的到PostgreSQL 在我的NodeJS我用快遞形式的數據模塊所需的基本轉換。 服務器代碼:在node.js中用於發送圖像類型的文件到PostgreSQL
var formData = require("express-form-data");
var BodyParser=require('body-parser');app.use(BodyParser.json()).use(formData.parse()).use(formData.format()).use(formData.stream()).use(formData.union());
app.post('/create-user',function(req,res){
var username=req.body.username;
var password=req.body.password;
..........................
var img=(req.files.pic).toString('HEX')+'\\x';
pool.query('INSERT into "Users" (username,password,"full
name","D.O.B",emailid,sex,img) VALUES ($1,$2,$3,$4,$5,$6,$7)',
[username,hashpass,name,dob,email,sex,img],function(err,result){ if (err) {
res.status(500).send(err.toString());
其明顯我已成立BYTEA類型的圖像數據。 我試過這個滑動圖像輸入和所有其他領域插入成功。 但我沒有得到插入圖像postgres的邏輯。我hav搜索其他stackoverflow答案無處可以找到如何將圖像數據轉換爲bytea類型。我的數據庫和nodejs設置爲UTF8編碼。 上所顯示的代碼片段轉換IMG爲十六進制的字符串,我得到 錯誤:一個butea
無效的輸入語法,如果沒有轉換完成這樣的錯誤: 數據庫服務器仍然拒絕連接,的NodeJS控制檯說斜面後,他們設置頭被髮送。
我試過了,出現錯誤:無效'['十六進制數字。我檢查了console.log(img)它顯示[對象對象]因此我需要以某種方式解析 – Biboswan
@Biboswan你的'img'應該是'Buffer'類型,檢查它是這種情況。 –
Buffer.isBuffer(req.files.pic)給出錯誤 – Biboswan