Namespace CoreUpload.Providers
Classes
AzureAbortRequest
AzureCompleteRequest
AzureCompleteResult
AzureCreateRequest
AzureCreateResult
FileSystemProvider
Default provider that stores uploads, metadata, and chunk sessions on the local file system.
GcsAbortRequest
GcsCompleteRequest
GcsCompleteResult
GcsCreateRequest
GcsCreateResult
GcsSignRequest
GcsSignResult
GcsSignerOptions
Configuration object for built-in GCS signer implementations. Apps may either implement IGcsSigner directly or instantiate a reference implementation with these options.
ImageTransformRequest
Typed, validated view of the URL transform contract produced by
CoreUpload.transformUrl() on the client
(?w=&h=&fit=&format=&q=&crop=&blur=&gravity=&rotate=&flip=&grayscale=&wm=&wmpos=).
IImageTransformer implementations receive the raw IQueryCollection; call Parse(IQueryCollection) to get clamped, whitelist-validated values instead of re-parsing strings. Invalid or out-of-range values are dropped (never throw) so a malformed URL degrades to the original image rather than a 500.
S3AbortRequest
S3CompleteRequest
S3CompleteResult
S3CreateRequest
S3CreateResult
S3ListPartsRequest
S3ListPartsResult
S3Part
S3SignRequest
S3SignResult
S3StoredPart
Interfaces
IAzureSigner
Bridges CoreUpload to an Azure Blob Storage upload session using a pre-signed
blob SAS URL. The browser uses the SAS to PutBlock and PutBlockList directly;
the server only signs and records metadata.
The core library takes no Azure SDK dependency — host apps register an
implementation with DI: services.AddSingleton<IAzureSigner, MyAzureSigner>().
When no IAzureSigner is registered, the /azure/* endpoints
respond with 501 Not Implemented.
IGcsSigner
Bridges CoreUpload to a Google Cloud Storage resumable upload session. The core library takes no Google.Cloud.Storage SDK dependency — host apps register an implementation with DI:
builder.Services.AddSingleton<IGcsSigner, MyGcsSigner>();
When no IGcsSigner is registered, the /gcs/* endpoints
respond with 501 Not Implemented.
IImageTransformer
Optional server-side image transformer for URL-based transforms
(?w=&h=&fit=&format=&q=) produced by
CoreUpload.transformUrl() on the client.
CoreUpload ships ZERO image-library dependencies to remain cross-platform and trimming-friendly, so this capability is opt-in. Register an implementation in DI to have the download endpoint honor transform query parameters:
builder.Services.AddSingleton<IImageTransformer, ImageSharpTransformer>();
When no implementation is registered, the download endpoint streams the original bytes and the client / CDN is expected to apply the transform.
IS3Signer
Bridges CoreUpload to an S3-compatible multipart upload session. The core library takes no AWS SDK dependency — host apps plug in their own signer by registering an implementation with DI:
builder.Services.AddSingleton<IS3Signer, MyS3Signer>();
Works for any S3-API-compatible backend (AWS S3, MinIO, Backblaze B2, Cloudflare R2, Wasabi, etc.).
When no IS3Signer is registered, the /s3/* endpoints respond
with 501 Not Implemented.
IUploaderProvider
Defines the storage operations used by CoreUpload to save, read, move, and maintain uploaded files. Providers abstract where uploaded file contents and metadata live.