Abort a multipart upload
Object key
Upload ID
Chunked upload for streaming data without known size Uses multipart upload under the hood for reliability
Content to upload (stream or buffer)
Full path including disk root
Upload options (mimeType required, size optional)
Upload result with metadata
Complete a multipart upload
Object key
Upload ID
List of completed parts with ETags
Location and key
Create a multipart upload
Object key
Optionaloptions: CreateMultipartOptionsUpload options
Upload ID and key
Delete a file from storage
Full path to the file
Delete multiple objects in a single request More efficient than individual delete() calls
Array of object keys
Delete results
Download a file from storage
Full path to the file
Download result with stream and metadata
Check if a file exists in storage
Full path to the file
True if file exists, false otherwise
Get the bucket name
Bucket name from configuration
Generate a presigned URL for temporary access
Full path to the file
HTTP method (GET, PUT, DELETE, HEAD)
Expiry time in seconds (1-604800)
Presigned URL result
Get object metadata without downloading the body Unlike exists() which returns boolean, this returns actual metadata
Object key
Object metadata or null if not found
List all in-progress multipart uploads
OptionalkeyMarker: stringOptional key marker for pagination
OptionaluploadIdMarker: stringOptional upload ID marker for pagination
List of uploads
List parts of a multipart upload
Object key
Upload ID
OptionalpartNumberMarker: stringOptional marker for pagination
List of parts
Upload content to storage
Content to upload (stream, buffer, or string)
Full path including disk root
Upload options including size and mime type
Upload result with metadata
Upload a part to an existing multipart upload
Object key
Upload ID from createMultipartUpload
Part number (1-10000)
Part data
ETag and part number
S3-specific storage provider interface with multipart upload support
Extends the generic IStorageProvider with S3 multipart upload operations. This interface is S3-specific - other providers (GCS, local) would have their own resumable upload interfaces if needed.