Direct-to-S3 / Azure tus 1.0 resume IndexedDB Golden Retriever 30 locales Webcam & screen capture

CoreUpload vs FineUploader

FineUploader was for years the reference implementation of "serious" browser uploading — chunking, retries, concurrent parts and direct-to-S3 long before they were common. A lot of upload code in the wild still descends from it.

The honest summary

If you are already running FineUploader successfully, there is no urgency to move. The common reasons teams look for a replacement are maintenance status and newer transports — tus, direct-to-Azure and direct-to-GCS were not part of its world.

CoreUpload covers the same core ideas (chunking, concurrency, retries, S3) and adds the protocol/transport breadth plus the ASP.NET Core endpoints. Before switching, check the feature you actually rely on — the table below is a good starting point.

Side by side

Dimension FineUploader CoreUpload
Chunking & concurrency Yes — a core strength, with concurrent chunk uploads. Yes, plus adaptive (AIMD) concurrency and a circuit breaker.
Direct-to-cloud S3 (and Azure in later versions). S3 multipart, Azure Blob, GCS resumable — with server-verified resume.
tus 1.0 Not part of its transport set. Yes, including the checksum extension.
Resume after reload Session resume for S3-style uploads. IndexedDB blob persistence + a server chunk-status probe before resuming.
Scaled renditions Yes — generating multiple sizes on upload is a notable FineUploader feature. Yes — the renditions option uploads scaled versions (e.g. thumbnail + WebP medium) alongside the original, linked via renditionOf. Demo.
Instant upload (dedupe) Not built in. Opt-in SHA-256 dedupe (instantUpload): content the server already stores completes instantly with zero bytes transferred; the server hashes stored uploads itself.
Blazor JavaScript library - no Blazor component. Ships a native <CoreUploader /> Blazor component (Server + WebAssembly) with typed C# events, in the same NuGet package.
Server side Example server implementations; you own the endpoint. Endpoints ship with the package.

Feature parity note

FineUploader's signature scaled renditions feature (thumbnail + original in one pass) is now matched by CoreUpload's renditions option, including format transcoding (e.g. WebP). See the live demo.

Migration notes

  • If you upload direct to S3 today, the pre-signed-part model is the same — see the S3 demo.
  • Chunk size, concurrency and retry counts map onto asp-chunk-size, asp-chunk-concurrency and the retry policy. Retry demo.
  • Server-side, app.MapCoreUploadEndpoints() replaces the example endpoint you likely forked. Integration guide.