Angularjs 从NodeJs获取上传的文件

Angularjs 从NodeJs获取上传的文件,angularjs,node.js,mean-stack,Angularjs,Node.js,Mean Stack,我正在尝试检索上载到服务器的文件,但运气不佳。我得到的是:403-禁止错误。(我对NodeJs还不太熟悉) 这是NodeJS代码: // Get Thumbnail Images router.param('imageName', function(req, res, next, imageName) { req.imageURL = "../uploads/thumbnails/" + imageName; return next(); }); router.get('/tn

我正在尝试检索上载到服务器的文件,但运气不佳。我得到的是:
403-禁止
错误。(我对NodeJs还不太熟悉)

这是NodeJS代码:

// Get Thumbnail Images
router.param('imageName', function(req, res, next, imageName) {
    req.imageURL = "../uploads/thumbnails/" + imageName;
    return next();
});

router.get('/tn/:imageName', function(req, res) {
    var options = {
        root: __dirname
    };
    res.sendFile(req.imageURL, options);
});
这是HTML代码:

<img ng-src="/tn/{{ card.backImg }}" class="" alt=""/>
我不确定这种情况下的最佳做法是什么(所有用户都可以访问上传的图像)。因此,请您提供一个关于公用文件夹、静态和最佳实践的一般性解释


提前谢谢。

我认为下面的源代码可以用于您的案例:

app.get('/tn/:imageName', function(req ,res) {
    var path = require('path');
    var file = path.join(__dirname, "/../uploads/thumbnails/" , req.params.imageName);
    res.sendFile(file);
});
注意:我使用的是ExpressJS4.0

app.get('/tn/:imageName', function(req ,res) {
    var path = require('path');
    var file = path.join(__dirname, "/../uploads/thumbnails/" , req.params.imageName);
    res.sendFile(file);
});