Nextended.Blazor
10.1.31
dotnet add package Nextended.Blazor --version 10.1.31
NuGet\Install-Package Nextended.Blazor -Version 10.1.31
<PackageReference Include="Nextended.Blazor" Version="10.1.31" />
<PackageVersion Include="Nextended.Blazor" Version="10.1.31" />
<PackageReference Include="Nextended.Blazor" />
paket add Nextended.Blazor --version 10.1.31
#r "nuget: Nextended.Blazor, 10.1.31"
#:package Nextended.Blazor@10.1.31
#addin nuget:?package=Nextended.Blazor&version=10.1.31
#tool nuget:?package=Nextended.Blazor&version=10.1.31
![]()
Nextended.Blazor
Blazor helpers โ IBrowserFile extensions (bytes, data URLs, downloads), a hierarchical model for browsing inside uploaded zip/tar/rar archives, MIME-type detection and component-parameter reflection.
๐ Documentation: English ยท Deutsch
Installation
dotnet add package Nextended.Blazor
Feature map
| Area | API |
|---|---|
IBrowserFile extensions |
GetBytesAsync, GetBytes, GetDataUrlAsync, GetContentType, DownloadFileAsync, GetReadableFileSize |
| Archive detection | IsZipFile, IsRarFile, IsTarFile, IsArchive |
| Archive browsing | ArchiveStructure โ a Hierarchical<T> folder tree over an uploaded archive: CreateStructure(entries, rootFolderName), ToArchiveBytesAsync(), IsDirectory, Size, ContainingFiles (ZipStructure is the [Obsolete] predecessor) |
| Archived entries as files | IArchivedBrowserFile / ZipBrowserFile implement IBrowserFile, so an entry inside a zip works with any component that accepts an uploaded file |
| Data URLs | DataUrl โ parse and build data: URLs from bytes and content types |
| Component reflection | ComponentRenderHelper.GetCompatibleParameters<T>, GetCompatibleProperties<T>, IsValidParameter, IsRenderFragment, IsEventCallback |
| MIME types | MimeTypeHelper.GetContentType, Matches (wildcard patterns such as image/*) |
Quick start
Read an upload
@using Nextended.Blazor.Extensions
<InputFile OnChange="OnChange" />
@code {
private async Task OnChange(InputFileChangeEventArgs e)
{
var file = e.File;
var bytes = await file.GetBytesAsync();
var dataUrl = await file.GetDataUrlAsync(); // ready for <img src="...">
var mime = file.GetContentType();
var size = BrowserFileExtensions.GetReadableFileSize(file.Size); // "1.4 MB"
}
}
Let the user browse inside an uploaded archive
using Nextended.Blazor.Models;
if (file.IsArchive())
{
// You supply the flat entry list from your archive reader of choice;
// CreateStructure turns it into a folder tree.
IList<IArchivedBrowserFile> entries = ReadEntries(file);
ArchiveStructure root = ArchiveStructure.CreateStructure(entries, rootFolderName: file.Name);
foreach (var node in root.Children)
{
node.IsDirectory; // folder or entry
node.Size; // folders sum their contents
node.BrowserFile; // an IBrowserFile for entries โ previews and downloads
} // work with exactly the same code as a real upload
// Re-pack after removing or adding nodes:
byte[] repacked = await root.ToArchiveBytesAsync();
}
ArchiveStructureBase<T> derives from Nextended.Core.Types.Hierarchical<T>, so parent/child
navigation, flattening and path lookups come from the Core type.
Trigger a browser download
@inject IJSRuntime Js
await file.DownloadFileAsync(Js);
Data URLs
using Nextended.Core.Types;
var url = new DataUrl(bytes, new ContentType("image/png"));
string asString = url.ToString(); // "data:image/png;base64,โฆ"
var parsed = new DataUrl("data:image/png;base64,โฆ");
byte[] raw = parsed.Bytes;
Passing a loose dictionary of parameters to a component
using Nextended.Blazor.Helper;
// Only the entries that actually exist as [Parameter] on TComponent, correctly typed.
var parameters = ComponentRenderHelper.GetCompatibleParameters<MyComponent>(incoming);
Useful when parameters arrive from configuration or JSON and you want to avoid a runtime "unknown parameter" exception.
Supported frameworks
net8.0net9.0net10.0
Dependencies
- Nextended.Core
- Microsoft.AspNetCore.Components.Web
The Nextended family
The other 17 packages in the suite:
Core libraries
- Nextended.Core โ Foundation library โ extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes.
- Nextended.Cache โ Expression-based caching โ automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting.
Data access
- Nextended.EF โ Entity Framework Core extensions โ graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations.
ASP.NET Core & web
- Nextended.Web โ ASP.NET Core utilities โ zero-config OData (AddODataAuto), composable IQueryable OData appliers, strongly typed controller URLs, streaming download helpers and a background executor that can replay a captured request.
- Nextended.ResponseFilters โ Fluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization โ per request, per user, per permission.
- Nextended.ResponseFilters.AspNetCore โ ASP.NET Core adapter for Nextended.ResponseFilters โ registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree.
UI libraries
- Nextended.Blazor โ Blazor helpers โ IBrowserFile extensions (bytes, data URLs, downloads), a hierarchical model for browsing inside uploaded zip/tar/rar archives, MIME-type detection and component-parameter reflection. (this package)
- Nextended.UI โ WPF and Windows desktop helpers โ a global input-binding manager with hold/sequence matching, DirectInput and XInput gamepad readers, key-bind capture controls, converters, behaviours, markup extensions and runtime-defined PropertyGrid types.
Code generation & tooling
- Nextended.Imaging โ Image processing โ aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes.
- Nextended.CodeGen โ Roslyn source generator โ DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files.
.NET Aspire hosting
- Nextended.Aspire โ Conditional AppHost builder extensions โ WithReferenceIf / WaitForIf / WithExplicitStartIf, strongly typed environment variables from config objects, HTTPS dev-cert wiring, Docker guards, GitHub-source resources and npm app discovery.
- Nextended.Aspire.Hosting.Supabase โ The complete Supabase stack โ Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions โ as one composable Aspire resource.
- Nextended.Aspire.Hosting.N8n โ The n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET.
- Nextended.Aspire.Hosting.Grafana โ Grafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources.
- Nextended.Aspire.Hosting.WebDataStudio โ WebDataStudio โ a browser database studio for PostgreSQL, MySQL, SQL Server, SQLite, Oracle, DuckDB, ClickHouse, MongoDB and Redis โ wired to the databases of your stack.
- Nextended.Aspire.Hosting.AspireUI โ AspireUI โ the visual AppHost builder โ as a resource inside your own Aspire stack, with an optional pre-seeded admin user and a starter stack built from your project paths.
- Nextended.Aspire.Hosting.LocalAI โ Self-hosted, OpenAI-compatible multimodal AI โ image generation, text-to-speech, speech-to-text and video โ with gallery model management, GPU support and Open WebUI.
- Nextended.Aspire.Hosting.Php โ Run PHP endpoints inside your Aspire stack โ a docroot folder or a single router script served by PHP's built-in web server, with php.ini settings as fluent options.
Links
- ๐ฆ NuGet package
- ๐ Documentation โ English
- ๐ Dokumentation โ Deutsch
- ๐ Documentation portal
- ๐งโ๐ป Source code
- ๐ Report an issue
License
GPL-3.0-or-later โ see LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components.Web (>= 10.0.8)
- Microsoft.Extensions.Localization.Abstractions (>= 10.0.8)
- Nextended.Core (>= 10.1.31)
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.2)
- Microsoft.Extensions.Localization.Abstractions (>= 8.0.2)
- Nextended.Core (>= 10.1.31)
-
net9.0
- Microsoft.AspNetCore.Components.Web (>= 9.0.10)
- Microsoft.Extensions.Localization.Abstractions (>= 9.0.10)
- Nextended.Core (>= 10.1.31)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Nextended.Blazor:
| Package | Downloads |
|---|---|
|
MudBlazor.Extensions
MudBlazor.Extensions is a small extension library for MudBlazor from https://mudblazor.com/ |
|
|
AuralizeBlazor
AuralizeBlazor is a wrapper component for audioMotion-analyzer. |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Nextended.Blazor:
| Repository | Stars |
|---|---|
|
fgilde/MudBlazor.Extensions
MudBlazor.Extensions from https://www.mudex.org is a small extension for MudBlazor from https://mudblazor.com
|
| Version | Downloads | Last Updated |
|---|---|---|
| 10.1.31 | 0 | 8/19/2026 |
| 10.1.30 | 0 | 8/19/2026 |
| 10.1.21 | 3,048 | 7/30/2026 |
| 10.1.20 | 107 | 7/26/2026 |
| 10.1.19 | 104 | 7/23/2026 |
| 10.1.18 | 110 | 7/22/2026 |
| 10.1.17 | 111 | 7/21/2026 |
| 10.1.16 | 102 | 7/21/2026 |
| 10.1.15 | 107 | 7/21/2026 |
| 10.1.14 | 98 | 7/16/2026 |
| 10.1.13 | 109 | 7/12/2026 |
| 10.1.12 | 105 | 7/12/2026 |
| 10.1.11 | 115 | 7/6/2026 |
| 10.1.10 | 1,871 | 6/16/2026 |
| 10.1.9 | 10,238 | 5/29/2026 |
| 10.1.8 | 1,197 | 5/19/2026 |
| 10.1.7 | 135 | 5/16/2026 |
| 10.1.6 | 170 | 5/12/2026 |
| 10.1.5 | 114 | 5/12/2026 |
| 10.1.4 | 8,542 | 5/11/2026 |