0

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

这是我的用户头像获取函数: var SkipperDisk = require('skipper-s3'); var fileAdapter = SkipperDisk( { key: 'xxx', secret: 'xxx+xxx', bucket: 'xxx-xxx' }); fileAdapter.read(user.avatarFd).on('error', function(err) { // return res.serverError(err); return res.redirect('/noavatar.gif'); }).pipe(res) ; });

4

1 回答 1

0

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

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

返回图像 url 而不是返回图像。

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

将文件上传到 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

于 2016-08-04T10:17:15.587 回答