FileUploadS3
Last updated
Last updated
Module is configuration only and simplifies uploads to AWS S3 cloud storage. It also provides methods for creating signed, expiring urls.
To create the module (instantiate class) and prepare it for use, just provide configuration object as following:
All FileUploadS3
configuration properties are mandatory unless stated differently.
Caution: do not store s3 keys in the repository, use dotenv or environment variables.
To upload a file, you use instantiated FileUploaderS3
, provide a <Buffer>
, path (key) and optional callbacks for upload success and upload error.
Uploader.upload
configuration object:
To upload files to different buckets, instantiate two objects with separate configuration and use those accordingly:
AWS S3 can provide signed links, that have expiry date. If you prefer signed links, you should set your bucket to private
. Rest is easy as:
Please note that function is synchronous and requires one argument (key
). If you want to set up custom expiry, you can set urlExpiration
in FileUploadS3 configuration object. Default urlExpiration is set to 120 seconds.
key
type
description
s3
object
Configuration obtained from AWS S3, keys are accessKeyId
, secretAccessKey
, region
bucket
string
S3 bucket name
urlExpiration (optional)
integer
, defaults to 120
Expiration time in seconds if you are using signed links
key
type
description
file
Buffer
Configuration obtained from AWS S3, keys are accessKeyId
, 'secretAccessKey', region
key
string
path (key), and filename with extension