nano-s3
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 = const path = const nanoS3 = 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 // 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
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.