如何在 Sails JS 和 Skipper 上设置 S3 缓存?
How Do You Set S3 Caching On Sails JS & Skipper?
我有一个用 Sails JS 编写的应用程序。
我想为我的 S3 文件设置缓存。
我不太确定从哪里开始,我需要用我的 Image GET 函数做些什么吗?有没有人有为 S3 资产设置缓存的经验?
这是我获取用户头像的函数:
var SkipperDisk = require('skipper-s3');
var fileAdapter = SkipperDisk(
{
键:'xxx',
秘密:'xxx+xxx',
桶:'xxx-xxx'
});
fileAdapter.read(user.avatarFd).on('error', 函数(错误) {
// return res.serverError(错误);
return res.redirect('/noavatar.gif');
}).管道(资源);
});
为什么不为您的 S3 存储桶启用静态网站托管?将图像上传到可以被images.yourapp.com/unique-image-path
引用的存储桶
在数据库中为每个用户存储头像url。
Return 图片 url 而不是返回图片。
这样做可能会帮助您利用客户端缓存。
将文件上传到S3时,您可以为文件设置元数据。将 Expires
header 设置为将来的日期以帮助缓存。您还可以设置 Cache-Control
header。 Skipper-s3
支持文件上传到S3时设置headers。
https://github.com/balderdashy/skipper#uploading-files-to-s3
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html#RESTObjectPUT-requests
我有一个用 Sails JS 编写的应用程序。 我想为我的 S3 文件设置缓存。 我不太确定从哪里开始,我需要用我的 Image GET 函数做些什么吗?有没有人有为 S3 资产设置缓存的经验?
这是我获取用户头像的函数: var SkipperDisk = require('skipper-s3'); var fileAdapter = SkipperDisk( { 键:'xxx', 秘密:'xxx+xxx', 桶:'xxx-xxx' }); fileAdapter.read(user.avatarFd).on('error', 函数(错误) { // return res.serverError(错误); return res.redirect('/noavatar.gif'); }).管道(资源); });
为什么不为您的 S3 存储桶启用静态网站托管?将图像上传到可以被images.yourapp.com/unique-image-path
在数据库中为每个用户存储头像url。
Return 图片 url 而不是返回图片。
这样做可能会帮助您利用客户端缓存。
将文件上传到S3时,您可以为文件设置元数据。将 Expires
header 设置为将来的日期以帮助缓存。您还可以设置 Cache-Control
header。 Skipper-s3
支持文件上传到S3时设置headers。
https://github.com/balderdashy/skipper#uploading-files-to-s3
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html#RESTObjectPUT-requests