2016-11-05 51 views
2

我使用Loopback作爲後端API,並使用存儲組件作爲CDN上傳和下載我的網站的圖像和聲音文件。 我的網站使用了很多圖片。但是所有的圖像文件都不能使用cach。爲環回存儲組件的下載方法啓用緩存?

我想通過向文件添加「Cache-Control:max-age = 2678400」標頭來啓用緩存,但不知道該如何去做。有人可以幫助我或建議任何更好的解決方案。對此,我真的非常感激。

謝謝!

回答

1

最後我找到了一個使用中間件的解決方法。 在服務器/中間件文件夾中創建一箇中間件:

// 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(); 
    } 
} 

,並在服務器/ middleware.json配置文件中添加此中間件:

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

希望這有助於! :)