0

나는 Sails JS로 작성된 신청서를 가지고있다. 내 S3 파일에 대한 캐싱을 설정하려고합니다. 어디서부터 시작해야 할 지 모르겠다. Image GET 기능으로 무엇인가를해야합니까? S3 자산에 대한 캐싱 설정 경험이있는 사람이 있습니까?Sails JS & Skipper에서 S3 캐싱을 설정하는 방법은 무엇입니까?

이것은 사용자 아바타를위한 나의 가져 오기 기능입니다. var SkipperDisk = require ('skipper-s3'); VAR의 fileAdapter = SkipperDisk ( { 키 'xxx'가 비밀 「XXX + XXX ' 버킷 「XXX-XXX " }); fileAdapter.read (user.avatarFd) .on ('error', function (err)) { // res.serverError (err); return res.redirect ('/ noavatar.gif'); }). 파이프 (입술); }});

답변

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