Как установить 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', function(err) { // return res.serverError(err); return res.redirect('/noavatar.gif'); }).pipe(res); });

1 ответ

Решение

Почему бы не включить статический хостинг веб-сайтов для вашей корзины S3? Загрузите изображения в корзину, на которую может ссылаться images.yourapp.com/unique-image-path

Сохраните аватар для каждого пользователя в базе данных.

Верните URL изображения вместо того, чтобы возвращать изображение.

Это может помочь вам воспользоваться преимуществами кэширования на стороне клиента.

При загрузке файла в S3 вы можете установить метаданные для файла. Задавать Expires заголовок на будущую дату, чтобы помочь кэшированию. Вы также можете установить Cache-Control заголовок. Skipper-s3 поддерживает настройку заголовков для файла при загрузке на S3.

https://github.com/balderdashy/skipper

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

Другие вопросы по тегам