0

Ich habe eine Anwendung in Sails JS geschrieben. Ich möchte Caching für meine S3-Dateien festlegen. Ich bin mir nicht sicher, wo ich anfangen soll, muss ich etwas mit meiner Image GET-Funktion machen? Hat jemand Erfahrung beim Festlegen von Caching für S3-Assets?Wie setzen Sie S3 Caching auf Segeln JS & Skipper?

Dies ist meine Get-Funktion für Benutzer Avatare: var SkipperDisk = erfordern ('skipper-s3'); var fileAdapter SkipperDisk = ( { key: 'xxx', Geheimnis: 'xxx + xxx', bucket: 'xxx-xxx' }); fileAdapter.read (user.avatarFd) .on ('Fehler', Funktion (Fehler) { // Rückgabe res.serverError (err); Rückgabe res.redirect ('/ noavatar.gif'); }). Pfeife (Res); });

Antwort

0

Warum ermöglichen nicht statische Website für Ihre S3-Bucket-Hosting? Laden Sie die Bilder auf einen Eimer, der durch images.yourapp.com/unique-image-path

Shop der Avatar-URL für jeden Benutzer in der Datenbank verwiesen werden kann.

die URL Bild zurück, anstatt das Bild zurück.

Dadurch könnte Ihnen helfen, die Vorteile der Client-seitiges Caching zu nehmen.

Während eine Datei auf S3 hochladen, können Sie Metadaten für eine Datei festgelegt. Setzen Sie Expires Header auf ein zukünftiges Datum, um das Zwischenspeichern zu unterstützen. Sie können auch Cache-Control Header festlegen. Skipper-s3 unterstützt das Setzen von Headern für eine Datei beim Hochladen auf S3.

https://github.com/balderdashy/skipper#uploading-files-to-s3

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