nano-s3

1.1.0 • Public • Published

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

Readme

Keywords

Package Sidebar

Install

npm i nano-s3

Weekly Downloads

0

Version

1.1.0

License

ISC

Unpacked Size

10.4 kB

Total Files

6

Last publish

Collaborators

  • ungoldman