2016-04-05 12 views
0

Görüntüyü mongodb içine yerleştirmeye çalışıyorum, sonra görüntüyü ejs şablonunda getirmek ve göstermek istiyorum.Resim, ejs şablonunda mongodb öğesinden gösterilmiyor

Kodum:

index.js

var uploadDir=__dirname+'/uploads'; 
var images=Date.now()+'.jpg'; 
var storage=multer.diskStorage({ 
    destination:function(request, file, callback){ 
     callback(null, uploadDir); 
     }, 
     filename:function(request, file, callback){ 
      console.log(file); 
      callback(null, images); 
      } 
    }); 
    var upload=multer({storage:storage}).single('photo'); 

/*============== blog Insert============*/ 
router.post('/add', upload, function(req, res, next){ 
    new blogs({ 
     title: req.body.title, 
     description:req.body.description, 
     categories:req.body.category, 
     img:images, 
     date:Date.now() 
     }).save(function(err, doc){ 
      res.send('Inserted'); 
     }); 
    }); 

Resim başarıyla dosyanın adının ve aynı zamanda disk alanı içinde depolanması olarak koleksiyona eklenir. Ben yazılı görüntüyü alıp çalıştığınızda :

<img src="./routes/uploads/<%= blogdata.img%>" /> 

benim görünüm sayfasında görüntü yoktur. Eğer yüklemeler için hizmet veren yolları/statik dosyasını tanımlamak kodu göster ben o sayfanın viewsouce koduna çevirip onun

<img src="./routes/uploads/1459772396796.jpg"> 

cevap

0

yani tam yolunu gösteren. Göreceli yol bir URL olarak anlamlandırmaz ve normalde URL'niz routes'u içermez, böylece sayfa kaynağı /uploads/1459772396796.jpg dır.

Yorumunuz için iki statik dir var, bunu yapabileceğinizden emin değilim, ancak söylediğim gibi yol routes bölümünü içermiyor.

+0

app.use (express.static (yol.join (__ dirname, 'rotalar/yüklemeler'))); –

+0

Teşekkürler. Bu soruna girmeli çünkü cevap vermenin kritik bir parçası. –

+0

Evet ama çalışmıyor –