为Loopback Storage Component的下载方法启用缓存?

时间:2016-11-05 05:02:09

标签: caching loopbackjs

我使用Loopback作为后端API,并使用存储组件作为CDN来上传和下载我网站的图像和声音文件。 我的网站使用了很多图片。但是所有图像文件都不支持cach。

我想通过添加" Cache-Control来启用缓存:max-age = 2678400"标题文件但不知道如何操作。有人可以帮助我或建议任何更好的解决方案。我真的很感激。

谢谢!

1 个答案:

答案 0 :(得分:3)

最后,我找到了使用中间件的解决方法。 在服务器/中间件文件夹中创建中间件:

// cache.js
module.exports = function () {

    return function cacheImages(req, res, next) {

        // Check if download file:
        if (req.originalUrl.includes('/api/files/') && req.originalUrl.includes('/download/')) {
            console.log("Here at the middle ware");

            console.log(req.originalUrl);

            res.set('Cache-Control', 'max-age=315360000');
        }

        next();
    }
}

并在server / middleware.json配置文件中添加此中间件:

...
"initial": {
    "./middleware/cache": {}
}
...

希望这有帮助! :)