Skip to content

Streaming file uploads to S3

License

Notifications You must be signed in to change notification settings

balderdashy/skipper-s3

Repository files navigation

skipper emblem - face of a ship's captain S3 Blob Adapter

NPM version     Build Status

S3 adapter for receiving upstreams. Particularly useful for handling streaming multipart file uploads from the Skipper body parser.

Installation

$ npm install skipper-s3 --save

Also make sure you have skipper itself installed as your body parser. This is the default configuration in the Sails framework.

Usage

req.file('avatar')
.upload({
  // Required
  adapter: require('skipper-s3'),
  key: 'thekyehthethaeiaghadkthtekey',
  secret: 'AB2g1939eaGAdesoccertournament',
  bucket: 'my_stuff',
  // Optional
  token: 'temporary_sts_creds'
}, function whenDone(err, uploadedFiles) {
  if (err) {
    return res.serverError(err);
  }
  return res.ok({
    files: uploadedFiles,
    textParams: req.params.all()
  });
});

For more detailed usage information and a full list of available options, see the Skipper docs, especially the section on "Uploading to S3".

Contribute

See ROADMAP.md.

Also be sure to check out ROADMAP.md in the Skipper repo.

To run the tests:

git clone git@github.com:balderdashy/skipper-s3.git
cd skipper-s3
npm install
KEY=your_aws_access_key SECRET=your_aws_access_secret BUCKET=your_s3_bucket npm test

Please don't check in your aws credentials :)

License

MIT © 2013, 2014-

Mike McNeil, Balderdash & contributors

See LICENSE.md.

This module is part of the Sails framework, and is free and open-source under the MIT License.

image_squidhome@2x.png

githalytics.com alpha