0

edgee:slingshotS3に画像をアップロードするために使用しています。これはうまく機能しています。しかし、私は 3 つの異なるイメージを持ちたいと考えています。それらを「ストア」と呼びます。サムネイル用の 1 つのストア、元の画像用の 1 つのストア、トリミングされた公開バージョン用の 1 つのストア。

しかし、どうすれば賢い方法でそれを行うべきかわかりません。

もちろんSlingshot.Upload()、3 つのバケツで 3 つの異なる操作を行うこともできます。しかし、アップロードを 1 回だけ行い、ファイルを処理 (graphicsmagick によるクロッピング) して、3 つの異なるファイルを保存する方が賢明だと思います。

後で、公開ファイルを編集し、同時に新しいサムネイルを作成したいと考えています。

client.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",
});

共有.js

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

1 に答える 1

2

明白な解決策の 1 つは、AWS Lambda を利用して、s3 バケットにアップロードされた画像ファイルを処理することです。

Amazon には、Amazon S3 と Lambda を使用して、まさにあなたが話していることを行う方法に関するチュートリアルがあります。

確認してください: チュートリアル: Amazon S3 で AWS Lambda を使用する

于 2016-05-12T14:42:07.533 に答える