Everything you need for cloud storage
Built for .NET developers who need production-grade file handling without vendor lock-in.
Provider Abstraction
Switch between AWS S3, Azure Blob, GCP, OCI, Supabase, and Local storage with a single interface. Zero code changes when you migrate providers.
Storage Pipeline
Compose middleware layers: validation, compression, encryption, deduplication, virus scan, quota, and conflict resolution — all declarative.
Resumable Uploads
TUS-compatible chunked uploads with pluggable session stores: InMemory, Redis, or EF Core. Pause, resume, and recover from network failures.
AES-256 Encryption
Transparent encryption on upload and decryption on download. Keys and IVs are stored in file metadata — no extra infrastructure required.
Image Processing
Resize, convert formats, and generate thumbnails via SixLabors.ImageSharp middleware. Hook it into the pipeline in one line.
Observability Ready
ActivitySource, Metrics, and structured events — plug in OpenTelemetry in one line and get full distributed tracing out of the box.
Composable storage pipeline
Add, remove, and reorder middleware without touching your business logic. Each layer is independent and fully testable.
builder.Services.AddVali-Blob(o => { o.DefaultProvider = "s3";}).AddProvider<AWSS3Provider>("s3", opts => { opts.BucketName = "my-bucket"; opts.Region = "us-east-1";}).WithPipeline(p => p .UseValidation(v => v.MaxFileSizeBytes = 100_000_000) .UseCompression() .UseEncryption(e => e.Key = secretKey) .UseContentTypeDetection() .UseDeduplication() .UseVirusScan() .UseConflictResolution(ConflictResolution.ReplaceExisting));12 NuGet packages. Install only what you need.
Each package is independent — add the providers and features your project requires.
Core interfaces, pipeline, result pattern, and DI extensions.
dotnet add package Vali-Blob.CoreEF Core resumable upload session store (any database).
dotnet add package Vali-Blob.EFCoreASP.NET Core health check integration.
dotnet add package Vali-Blob.HealthChecksImage processing middleware (resize, convert, thumbnails).
dotnet add package Vali-Blob.ImageSharp