1.1.0 • Published 6 years ago

nano-s3 v1.1.0

Weekly downloads
25
License
ISC
Repository
github
Last release
6 years ago

nano-s3 stability

npm version build status downloads js-standard-style

Upload a file to S3.

About

Sometimes you just need a small lib to do a simple task.

  • uploads a file to s3
  • that's it
  • no other features
  • very small!
    • 7.4 KB unpacked
    • compare to aws-sdk's 30.7 MB

Thanks to toddself for providing the original code that this was adapted from!

Installation

npm install nano-s3

Usage

const fs = require('fs')
const path = require('path')
const nanoS3 = require('nano-s3')

const options = {
  // AWS Config
  // Environment variables strongly recommended for keys
  accessKeyId: 'abc',
  secretAccessKey: 'xyz',

  // protocol is optional, defaults to https
  protocol: 'https',
  host: 's3.us-west-1.amazonaws.com',
  bucket: 'your-bucket-name',

  // Name of uploaded file on S3
  filename: 'image.jpg',

  // MIME type of file
  contentType: `image/jpeg`,

  // File data (Should be a Buffer)
  data: fs.readFileSync(path.join(__dirname, 'image.jpg')),

  // Directory path in bucket (optional)
  path: 'path/in/bucket',

  // Max file size, default 2MB (optional).
  // Required by AWS for upload policy.
  maxFileSize: 2 * 1024 * 1024
}

nanoS3(options, function (err, res) {
  if (err) throw err
  console.log(res.statusCode, res.statusMessage)
})

API

nanoS3(options, cb)

Params:

  • options - Object:
    • accessKeyId - String: AWS access key ID with write access to the host and bucket.
    • secretAccessKey - String: AWS secret access key for signing.
    • protocol - String: protocol to use for AWS URL. Default: 'https'.
    • host - String: AWS host to upload the files to, e.g. s3.us-west-1.amazonaws.com.
    • bucket - String: Your AWS bucket name.
    • filename - String: Name of file to upload.
    • contentType - String: MIME type of file.
    • data - Buffer: File data. Should be a Buffer.
    • path - String: Path in bucket to upload to (optional). Default: none (root).
    • maxFileSize - Number: Max file size (optional). Default: 2MB (2 * 1024 * 1024).
  • cb - Function:
    • err - Error: null if everything went fine, Error object if something went wrong.
    • res - Response: http response object.

License

ISC

1.1.0

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago