Image 角度2+;存储和访问动态图像库

Image 角度2+;存储和访问动态图像库,image,angular,build,assets,Image,Angular,Build,Assets,我使用Angular cli进行此构建,它将src文件夹下的所有文件夹编译到构建中。 我将图像存储在src下的资产文件夹中: src |-应用程序 |-资产 |-img_图书馆 我动态地访问它们,如下所示: 不幸的是,这个文件夹被angular cli编译到构建中,因此每次添加映像时,我都必须重新构建应用程序,以便客户端能够访问它 我也构建了服务器,这样我就可以将图像存储在任何我想要的地方,但我不知道如何通过img标记访问src上方的文件夹 有没有办法访问src文件夹上方带有Angular图

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

src
|-应用程序
|-资产
|-img_图书馆

我动态地访问它们,如下所示:

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

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


有没有办法访问
src
文件夹上方带有Angular图像标签的公共/资产文件夹?

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

我使用了一个express 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);
        }
    });
})
响应来自
的get请求


希望这对其他睡眠不足的开发人员有所帮助。

这没有意义-如果您访问
src/
之外的资产文件夹,您仍然需要在添加图像时将其包含并重建。相反,将应用程序拆分-使用一个简单的API或返回链接列表的东西,然后它们可以在任何地方(同一台服务器、另一台服务器、S3、CDN等)运行。如果有办法访问存储在我的src文件夹上方的文件夹,我就不必重建,因为它不会被编译到构建中。构建api通过图像标签访问图像,就像使用推土机推倒蚂蚁山一样。这就是为什么在传统的web开发中,您会有一个公共文件夹来保存这些资产。它没有被编译到构建中是一个问题,而不是一个解决方案。部署时如何确保它位于正确的位置?应用程序是如何发现图像的?就像我通过api访问它一样,通过了解文件夹结构并在指定路径请求图像。同样,我只是问是否有一种方法可以让Angular中使用的图像标记访问src文件夹的同级文件夹。如果没有,我将开始编写http.get请求来提取所需的图像。这似乎是一个共同的要求。许多应用程序需要解决存储用户媒体的问题。