0

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

这是我的用户头像功能: var SkipperDisk = require('skipper-s3'); VAR fileAdapter = SkipperDisk( { 键: 'xxx' 的, 秘密: 'XXX XXX +', 桶: 'XXX-XXX' }); (error.function)(err){return res.serverError(err); return res.redirect('/ noavatar.gif'); })。管(RES); });

回答

0

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

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

返回图像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