Skip to main content

Class: S3FileService

file-storage/src.S3FileService

Extends

Constructors

new S3FileService(s3)

new S3FileService(s3): S3FileService

Parameters

s3: NarrowPayloadBlobTypes<NodeJsRuntimeStreamingBlobPayloadInputTypes, SdkStream<IncomingMessage>, S3>

Returns

S3FileService

Overrides

AbstractFileService.constructor

Source

libs/file-storage/src/lib/services/s3-file.service.ts:39

Properties

DEFAULT_FILE_NAME_FULL_LENGTH

protected DEFAULT_FILE_NAME_FULL_LENGTH: number = 64

Inherited from

AbstractFileService.DEFAULT_FILE_NAME_FULL_LENGTH

Source

libs/file-storage/src/lib/services/abstract-file.service.ts:12


DEFAULT_UPLOAD_PRE_SIGN_URL_PARAMS

protected DEFAULT_UPLOAD_PRE_SIGN_URL_PARAMS: object

Type declaration

expiresInSeconds

expiresInSeconds: number = 3600

maxSize

maxSize: number

Source

libs/file-storage/src/lib/services/s3-file.service.ts:34

Methods

abortMultiPartUpload

abortMultiPartUpload(uploadId, bucket, key, options?): Promise<void>

Parameters

uploadId: string

bucket: string

key: string

options?: Partial<AbortMultipartUploadCommandInput>

Returns

Promise<void>

Overrides

AbstractFileService.abortMultiPartUpload

Source

libs/file-storage/src/lib/services/s3-file.service.ts:95


completeMultiPartUpload

completeMultiPartUpload(uploadId, bucket, key, parts, options?): Promise<void>

Parameters

uploadId: string

bucket: string

key: string

parts: CompletedPartDTO[]

options?: Partial<CompleteMultipartUploadCommandInput>

Returns

Promise<void>

Overrides

AbstractFileService.completeMultiPartUpload

Source

libs/file-storage/src/lib/services/s3-file.service.ts:109


downloadFile

downloadFile(bucket, key): Promise<string>

Downloads a file as a text, might be useful for pure text files and templates, for other times use downloadStream function

Parameters

bucket: string

The bucket name of the file to download

key: string

The full path to the file inside a bucket, can include directories

Returns

Promise<string>

A readable stream of the file content

Overrides

AbstractFileService.downloadFile

Throws

If the file is not found

Source

libs/file-storage/src/lib/services/s3-file.service.ts:240


downloadStream

downloadStream(bucket, key): Promise<Readable>

Downloads a file as a stream

Parameters

bucket: string

The bucket name of the file to download

key: string

The full path to the file inside a bucket, can include directories

Returns

Promise<Readable>

A readable stream of the file content

Overrides

AbstractFileService.downloadStream

Throws

If the file is not found

Source

libs/file-storage/src/lib/services/s3-file.service.ts:252


generateDownloadFilePreSignUrl

generateDownloadFilePreSignUrl(bucket, key, expiresInSeconds): Promise<string>

Parameters

bucket: string

key: string

expiresInSeconds: number= 3600

Returns

Promise<string>

Overrides

AbstractFileService.generateDownloadFilePreSignUrl

Source

libs/file-storage/src/lib/services/s3-file.service.ts:168


generateFileKey

protected generateFileKey(uniqueFileNameWithoutExtension, file, folder?): string

Parameters

uniqueFileNameWithoutExtension: string

file: FileDefinition

folder?: string

Returns

string

Inherited from

AbstractFileService.generateFileKey

Source

libs/file-storage/src/lib/services/abstract-file.service.ts:69


generateUploadFilePreSignUrlPost

generateUploadFilePreSignUrlPost(bucket, file, folder?, options?): Promise<FileUploadPreSignUrlPostResult>

Parameters

bucket: string

file: FileDefinition

folder?: string

options?: object

expiresInSeconds default value is 3600 seconds maxSize in bytes default value is 100MB

options.expiresInSeconds?: number

options.fields?: Record<string, string>

options.maxSize?: number

Returns

Promise<FileUploadPreSignUrlPostResult>

Overrides

AbstractFileService.generateUploadFilePreSignUrlPost

Source

libs/file-storage/src/lib/services/s3-file.service.ts:135


generateUploadFilePreSignUrlPut

generateUploadFilePreSignUrlPut(bucket, file, folder?, expiresInSeconds?): Promise<FileUploadPreSignUrlPutResult>

Parameters

bucket: string

file: FileDefinition

folder?: string

expiresInSeconds?: number

Returns

Promise<FileUploadPreSignUrlPutResult>

Overrides

AbstractFileService.generateUploadFilePreSignUrlPut

Source

libs/file-storage/src/lib/services/s3-file.service.ts:184


startMultiPartUpload

startMultiPartUpload(bucket, file, partSize, folder?, options?): Promise<StartMultipartUploadInfo>

Parameters

bucket: string

file: Required<FileDefinition>

partSize: number= undefined

folder?: string

options?: Partial<CreateMultipartUploadCommandInput>

Returns

Promise<StartMultipartUploadInfo>

Overrides

AbstractFileService.startMultiPartUpload

Source

libs/file-storage/src/lib/services/s3-file.service.ts:46


truncateFileName

protected truncateFileName(fileName, maxLength): string

Parameters

fileName: string

maxLength: number

Returns

string

Inherited from

AbstractFileService.truncateFileName

Source

libs/file-storage/src/lib/services/abstract-file.service.ts:87


uploadFile

uploadFile(bucket, file, body, folder?, options?): Promise<UploadedFileInfo>

Parameters

bucket: string

file: FileDefinition

body: NodeJsRuntimeStreamingBlobPayloadInputTypes

folder?: string

options?: Partial<Omit<PutObjectCommandInput, "Body" | "Bucket" | "Key">>

Returns

Promise<UploadedFileInfo>

Overrides

AbstractFileService.uploadFile

Source

libs/file-storage/src/lib/services/s3-file.service.ts:209


Generated using typedoc-plugin-markdown and TypeDoc