ऐसा लगता है कि अपलोड करने के तरीके पर अनगिनत ट्यूटोरियल हैं लेकिन पुनर्प्राप्त करने पर कोई नहीं।

यह मेरी स्कीमा है:

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

मेरा सेटअप:

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

मैंने छवि को डीबी पर अपलोड करने का प्रयास किया है और मैं जो करने की कोशिश कर रहा हूं वह इस डेटा को एक ईजेएस टेम्पलेट पर भेज रहा है जैसे:

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

फिर ईजेएस टेम्पलेट पर मैं चाहता हूं:

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

छवि डेटा पथ का भी उल्लेख करना चाहिए: public/uploads

0
NonameLover 12 मार्च 2019, 11:46

1 उत्तर

सबसे बढ़िया उत्तर

तो यहाँ समस्या यह थी कि img टैग में बफ़र्ड इमेज कैसे डालें।

ऐसा करने के लिए आपका इमेज टैग इस तरह होना चाहिए:

<img src='data:image/(contentType);base64,(buffer).toString("base64")'> जहां कंटेंट टाइप jpeg/gif/png/.../* हो सकता है और बफर आपकी बफर्ड इमेज है।

ईजेएस में यह इस तरह दिख सकता है:

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

0
mJehanno 12 मार्च 2019, 13:19