2016-05-12 1 views
0

Ich verwende edgee:slingshot zum Hochladen von Bildern auf S3. Das funktioniert gut. Aber ich hätte gerne drei verschiedene Bilder - ich würde sie "Läden" nennen. Ein Speicher für Miniaturansichten, ein Speicher für das Originalbild und ein Speicher für eine freigestellte öffentliche Version.Meteor und S3: Wie definiere ich drei verschiedene Bilder durch einen Upload/Bearbeitung

Aber ich weiß nicht, wie ich das auf eine kluge Weise tun sollte.

Natürlich könnte ich drei verschiedene Slingshot.Upload() auf drei Eimern tun. Aber ich denke, es wäre schlauer, nur einen Upload durchzuführen, die Dateien zu bearbeiten (durch Grafikmagazin) und drei verschiedene Dateien zu speichern.

Später möchte ich die öffentliche Datei bearbeiten und eine neue Miniaturansicht gleichzeitig erstellen.

Client.js

Template.uploader.events({ 
    'change .uploadFile': function(event, template) { 
     event.preventDefault(); 

     var upload = new Slingshot.Upload("directiveUpload"); 
    } 
}); 

server.js

Slingshot.createDirective("directiveUpload", Slingshot.S3Storage, { 
    AWSAccessKeyId: "keyid", 
    AWSSecretAccessKey: "accesskey", 
    bucket: "video", 
    acl: "public-read", 
}); 

shared.js

Images = new Mongo.Collection('images'); 

Antwort

2

Eine offensichtliche Lösung würde Nutzen Sie AWS Lambda, um die Bilddateien nach dem Hochladen in einen s3-Bucket zu verarbeiten.

Amazon hat tatsächlich eine Anleitung, wie Sie genau das tun, was Sie über Amazon S3 und Lambda sprechen.

Check it out: Tutorial: Using AWS Lambda with Amazon S3

Verwandte Themen