从Mongo数据库[Multer Express Nodejs]检索图像



似乎有无数的教程有关如何上传但没有检索。

这是我的模式:

var bDataSchema = new mongoose.Schema({
    name: String,
    img: {
        data: Buffer,
        contentType: String
    }
});

我的设置:

app.use(multer({ storage: storage }).single('photo'));

我已努力将图像上传到DB,我要做的就是将此数据发送到这样的EJS模板:

app.get("/b", function(req, res){
    bData.find({}, function(err, found){
       if(err){
          console.log(err);
       }else{
          res.render("b", {found: found});
       }
    });
});

然后在我想要的EJS模板上:

<img src="<%=found.img.data%>">

还应提及图像数据路径:public/uploads

因此,这里的问题是如何在img标签中插入缓冲图像。

要这样做您的图像标签必须这样:

<img src='data:image/(contentType);base64,(buffer).toString("base64")'>其中contentType可以是jpeg/gif/png/.../*和缓冲区是您的缓冲映像。

在EJ中看起来可能是这样的:

<img src="data:image/<%=found.img.contentType%>;base64,<%=found.img.data.toString('base64')%>">

最新更新