玉使用param在路线中显示图像

时间:2015-10-19 22:02:21

标签: javascript node.js express pug

我使用的是expres 4,我在上传文件夹中有图片

我的代码是

app.use(express.static(__dirname + '/uploads'));

 //it works
    app.route('/')
    .get(function (req, res) {
        Post.find({},null,{sort:{'created_at':-1}}).populate('created_by').exec(function(err, posts) {
            if (err) throw err;
            res.render('blog',{
                title: 'Blog',
                posts: posts
            })
        });
    });
    //it doesn't work
    app.route('/post/:id_post')
        .get(function (req, res) {
            Post.findOne({_id:req.params.id_post}).populate('created_by').exec(function(err, post) {
                if (err) throw err;
                res.render('detail',{
                    title: 'Post',
                    post: post
                })
            });
        });

我的玉是

img(src='#{post.image}')

在两个模板中,相同的图片,但当我访问路线/时,我可以看到图像,访问时/post/:id_post我看不到图像

1 个答案:

答案 0 :(得分:0)

具有前导斜杠的相对链接从站点 root 开始,而没有它从当前级别开始。

如果您有一个src='image.jpg'链接,并且该链接位于您的主页/页面,那么该网址将被提取为http://example.com/image.jpg

但是,如果某个src='image.jpg'页面上有相同的链接/other,那么该网址将被提取为http://example.com/other/image.jpg(相对于当前(/ other)级别页)

或者,如果您有一个链接src='/image.jpg'(带有前导斜杠),则该网址始终被提取为http://example.com/image.jpg(相对于您网站的 root