0

edgee:slingshot用于将图像上传到 S3。这运作良好。但我想要三个不同的图像——我会称它们为“商店”。一个存储缩略图,一个存储原始图像,一个存储裁剪的公共版本。

但我不知道我应该如何以聪明的方式做到这一点。

当然,我可以Slingshot.Upload()在三个桶上做三个不同的。但我认为只进行一次上传、处理文件(通过 graphicsmagick 裁剪)并存储三个不同的文件会更聪明。

稍后我想编辑公共文件并同时创建一个新的缩略图。

客户端.js

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

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

服务器.js

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

shared.js

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

1 回答 1

2

一个明显的解决方案是利用 AWS Lambda 处理上传到 s3 存储桶的图像文件。

亚马逊实际上有一个关于如何使用 Amazon S3 和 Lambda 完成您所说的内容的教程。

查看: 教程:将 AWS Lambda 与 Amazon S3 结合使用

于 2016-05-12T14:42:07.533 回答