gpt4 book ai didi

node.js - 使用 multer 在 mongoDb 中存储和获取图像时遇到问题?

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:53 25 4
gpt4 key购买 nike

这是我的路由器文件!

router.post('/add', upload.single('image'), (req, res) => {
console.log(req.file)
var img = fs.readFileSync(req.file.path);
var encode_image = img.toString('base64');

const image = new Image({
image: Buffer.from(encode_image, 'base64'),
contentType: req.file.mimetype
})

image.save()
.then(img => {
res.json(img.id)
})
.catch(err => res.json(err))

})
// 5e252bd7e4eaa9478c019f02

我的图像上传架构

// Create Image Schema
const ImageSchema = new Schema({
image: {
type: Buffer
},
contentType: {
type: String
},
uploaded: {
type: Date,my
default: Date.now
}
})

但是将图像上传到我的数据库后

Image of record in collection

但是当我尝试将其检索为:

router.get('/photo/:id', (req, res) => {
var filename = req.params.id;

Image.findOne({'_id': mongoose.Types.ObjectId(filename) }, (err, result) => {

if (err) return console.log(err)
console.log(result)

res.contentType(result.contentType);
res.send(result.image.buffer)


})
})

我遇到黑屏,没有图像,我提到this用于上传文件。

最佳答案

好的,我这样做解决了错误:-=改变

 res.send(result.image.buffer)

 res.send(new Buffer.from(result.image.buffer, 'base64'))

我不知道为什么这会起作用!如果有人知道请告诉我。谢谢

关于node.js - 使用 multer 在 mongoDb 中存储和获取图像时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com