【问题标题】:Get Uploaded Files from NodeJs从 NodeJs 获取上传的文件
【发布时间】:2015-10-30 12:42:55
【问题描述】:

我正在尝试检索上传到服务器的文件,但没有成功。我得到的是:403 - forbidden 错误。 (我对 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.js 中添加这一行:

app.use(express.static(path.join(__dirname, 'uploads')));

我不确定这种情况的最佳做法是什么(所有用户都可以访问上传的图片)。那么请您提供一个关于公用文件夹、静态和最佳实践的一般解释。

提前谢谢你。

【问题讨论】:

    标签: angularjs node.js mean-stack


    【解决方案1】:

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

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

    注意:我使用的是 ExpressJS 4.0

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 2011-12-26
      • 2020-06-03
      • 2021-06-20
      • 2020-04-02
      • 1970-01-01
      相关资源
      最近更新 更多