如何在Sails上设置S3缓存JS&船长?

时间:2016-08-02 06:20:05

标签: amazon-web-services caching amazon-s3 sails.js sails-skipper

我有一个用Sails JS编写的应用程序。 我想为我的S3文件设置缓存。 我不确定从哪里开始,我是否需要使用我的Image GET功能做些什么?有没有人有过为S3资产设置缓存的经验?

这是我对用户头像的获取功能:       var SkipperDisk = require(' skipper-s3');       var fileAdapter = SkipperDisk(       {         key:' xxx',         秘密:' xxx + xxx',         桶:' xxx-xxx'       });       fileAdapter.read(user.avatarFd).on(' error',function(err){         // return res.serverError(err);           return res.redirect(' /noavatar.gif');       })管(RES);     });

1 个答案:

答案 0 :(得分:0)

为什么不为您的S3存储桶启用静态网站托管?将图像上传到可由images.yourapp.com/unique-image-path

引用的存储桶

将每个用户的头像网址存储在数据库中。

返回图片网址而不是返回图片。

这样做可能会帮助您利用客户端缓存。

将文件上传到S3时,您可以为文件设置元数据。将Expires标头设置为将来的日期以帮助缓存。您还可以设置Cache-Control标头。 Skipper-s3支持在上传到S3时设置文件的标头。

https://github.com/balderdashy/skipper#uploading-files-to-s3

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html#RESTObjectPUT-requests