AWSS3Store

flitter-upload/store/AWSS3Store~ AWSS3Store

Amazon S3-backed file store provider.


Constructor

new AWSS3Store()

Extends

Members

(static) services

Defines the services required by this store.

(private) _di_allow_defer :boolean

If true, the injector will defer the class if the class requests any services that the container is missing. These services are filled in later and added to the prototype and any instances. True by default.

Type:
  • boolean

(private) _di_deferred_instances :Array.<module:flitter-di/src/Injectable~Injectable>

Collection of instances of this class that need to have the deferred service instances injected into them when the deferred services are finally provided.

(private) _di_deferred_services :Array.<string>

List of services that were deferred and not provided at the time of injection.

Type:
  • Array.<string>

config :object

The configuration for this store.

Type:
  • object

(private) s3

The S3 client.

Methods

(async) download_file(file, destination) → {Promise.<void>}

Download the file locally to the given destination.

Parameters:
Name Type Description
file module:flitter-upload/model/File~File
destination
Returns:
Type
Promise.<void>

(async) init() → {Promise.<void>}

Initializes the store.

Returns:
Type
Promise.<void>

read_stream(file) → {ReadStream}

Create a Readable stream for this file.

Parameters:
Name Type Description
file module:flitter-upload/model/File~File
Returns:
Type
ReadStream

(async) send_file(file, response) → {Promise.<void>}

Send the specified file as the data for the response. Sets the appropriate Content-Type and Content-Disposition headers.

Parameters:
Name Type Description
file module:flitter-upload/model/File~File

the file to send

response express/response

the response

Returns:
Type
Promise.<void>

(async) store(params) → {Promise.<module:flitter-upload/model/File~File>}

Permanently store a temporarily uploaded file in this store.

Parameters:
Name Type Description
params object
Properties
Name Type Description
temp_path string

absolute path to the temporarily uploaded file

original_name string

the original upload name of the file

mime_type string

the MIME type of the file.

Returns:
Type
Promise.<module:flitter-upload/model/File~File>

(async) upload_file_as_key(file_path, key_path) → {Promise.<unknown>}

Upload the file path to the S3 key.

Parameters:
Name Type Description
file_path string

the local file path

key_path string

the S3 key

Returns:
Type
Promise.<unknown>

upload_key(upload_uuid, tagopt) → {string}

Given an upload UUID and some tag, returns the full S3 upload key of the file.

Parameters:
Name Type Attributes Description
upload_uuid string
tag string <optional>
Returns:
Type
string