2015-09-07 21 views
2

我使用Skipper S3 NPM模塊通過Sails JS圖像目前保存到S3桶之前。調整大小給定圖像分爲3個不同大小上傳到S3桶

Code使用船長保存到S3存儲如下:

req.file('imageName').upload({ 
     saveAs: 'FileName.png', 
     adapter: require('skipper-s3'), 
     key: 'key', 
     secret: 'secret', 
     bucket: 'bucketName' 
    }, function whenDone(err, uploadedFiles) { 
     if (err) 
      //error handling 
     else 
      // return back the Image URl into S3. 
    }); 

目前我按照這個link。這方法給出的方法效率不高,並與圖像大小有所不同。

我的要求是將圖像(.png.jpg,.tif,.gif)調整成不同尺寸(80 * 80100 * 120和130 * 270)。我要救我的初始圖像和調整圖像到S3 Bucket同時進行。但是我無法通過req.file爲給定的圖像提取緩衝區。

我有推薦關於堆棧溢出的以下問題,但我無法從他們得到我的答案。

  1. Skipper in SailsJS (beta) image resize before upload
  2. Uploading multiple files with Sails.js 0.10 and Skipper using Dropzone.js
  3. Sails.js File upload with Skipper to AWS S3

有人可以有幫助呢?

回答

3

您可以從您的應用程序到AWS LAMBDA分離圖像尺寸調整處理。一旦您的圖像剛剛上傳到S3存儲桶中,AWS Lambda功能就會被觸發。 AWS提供了一個簡單的演練來調整圖像大小:Handling Amazon S3 Events Using the AWS CLI (Node.js)

+0

愛德華嗨,您能否提供我一些例子就如何在AWS LAMBDA使用節點JS和NPM模塊代碼? – shubhamagiwal92

+0

實際上,我之前提到的鏈接已經給出了一個示例,說明如何在NodeJS中創建AWS Lambda函數來創建圖像的縮略圖。 –

+0

但是,如果您希望AWS Lambda函數正常開發,則可以使用Grunt來完成此操作。請參閱本文[文章](https://aws.amazon.com/blogs/compute/continuous-integration-deployment-for-aws-lambda-functions-with-jenkins-and-grunt-part-1/)。 –

相關問題