Angular 2+存储和访问动态图像库

时间:2017-07-18 20:06:47

标签: image angular build assets

我正在使用Angular-cli进行此构建,它将src文件夹下的所有文件夹编译到构建中。 我将图像存储在src:

下的assets文件夹中

src |-app |-assets |-img_library

我像这样动态访问它们:  <img src="assets/img_library/{{imgId}}"

不幸的是,这个文件夹被angular-cli编译到构建中,因此每次添加图像时我都必须重建应用程序,以便客户端能够访问它。

我也构建了服务器,因此我可以将图像存储在任何我想要的位置,但我不知道如何通过src标记访问img上方的文件夹。

有没有办法在Angular中使用图片代码访问src文件夹上方的公共/资源文件夹?

1 个答案:

答案 0 :(得分:1)

@jonrsharpe你是对的,这没有任何意义。 assets文件夹用于大多数用户经常使用的图像/媒体。我不知道我在想什么,当我需要从后端接近它时,我的大脑陷入了Angular模式。

我使用了快递api:

router.get('/some/api/:id/img.png', function( req, res, next){

    var id = req.params.id,
        filePath = 'img.png',
        root = __dirname + '/some/location/' + id +'/';

    var options = {
        root: root,
        dotfiles: 'deny',
        headers: {
            'x-timestamp': Date.now(),
            'x-sent': true
        }
    };

    res.sendFile(filePath, options, (err) => {
        if (err) {
            next(err);
        } else {
            console.log('Sent:', filePath);
        }
    });
})

回复<img src='some/api/{{imageId}}/img.png'>的获取请求。

希望这有助于其他一些睡眠不足的开发者。