DataJuggler.Blazor.FileUpload 11.0.0

dotnet add package DataJuggler.Blazor.FileUpload --version 11.0.0
                    
NuGet\Install-Package DataJuggler.Blazor.FileUpload -Version 11.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DataJuggler.Blazor.FileUpload" Version="11.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DataJuggler.Blazor.FileUpload" Version="11.0.0" />
                    
Directory.Packages.props
<PackageReference Include="DataJuggler.Blazor.FileUpload" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DataJuggler.Blazor.FileUpload --version 11.0.0
                    
#r "nuget: DataJuggler.Blazor.FileUpload, 11.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DataJuggler.Blazor.FileUpload@11.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DataJuggler.Blazor.FileUpload&version=11.0.0
                    
Install as a Cake Addin
#tool nuget:?package=DataJuggler.Blazor.FileUpload&version=11.0.0
                    
Install as a Cake Tool

BlazorFileUpload

This project was originally a wrapper of Steve Sanderson's BlazorFileInput, but now has been updated to the InputFile .NET component. This project has been updated to .NET 8.

Blazor Gallery is a C#, Blazor, SQL Server image portfolio site, allowing anyone to create up to five folders with up to 20 images per file.

Live Demo: https://blazorgallery.com

To see a complete working example, with source code please visit:

Blazor Gallery https://github.com/DataJuggler/BlazorGallery

Blazor Gallery can also be installed as a dotnet cli project: (You may change the top line to any directory you wish)

cd c:\Projects\BlazorGallery
dotnet new install DataJuggler.BlazorGallery
dotnet new DataJuggler.BlazorGallery

Another complete working example, with source code please visit:

<img src=https://excelerate.datajuggler.com/Images/ExcelerateLogoSmallWhite.png height=128 width=128> <img src=https://excelerate.datajuggler.com/Images/logotextsparkled.png>

Blazor Excelerate <br /> https://excelerate.datajuggler.com <br /> Code Generate C# Classes From Excel Header Rows

The source code for the above project is available at:

https://github.com/DataJuggler/Blazor.Excelerate

Here is an example of creating a file upload component:

@using DataJuggler.Blazor.FileUpload

<FileUpload CustomSuccessMessage="Your file uploaded successfully." 
    OnReset="OnReset" ResetButtonClassName="localbutton" ShowStatus="false"
    PartialGuidLength="12" MaxFileSize=@UploadLimit FilterByExtension="true" 
    ShowCustomButton="true"  ButtonText="Upload Excel" OnChange="OnFileUploaded"
    CustomButtonClassName="@OrangeButton" AllowedExtensions=".xlsx"
    ShowResetButton="false" AppendPartialGuid="true"
    CustomExtensionMessage="Only .xlsx extensions are allowed." 
    InputFileClassName="customfileupload" Visible=false Status="Refresh"
    FileTooLargeMessage=@FileTooLargeMessage>
</FileUpload>

To handle the File Upload event 'OnFileUploaded'. The code shown also starts a progress bar timer and reads the sheet names using Nuget package DataJuggler.Excelerate (the Nuget package that powers Blazor Excelerate).

#region OnFileUploaded(UploadedFileInfo file)
/// <summary>
/// This method On File Uploaded
/// </summary>
public void OnFileUploaded(UploadedFileInfo file)
{
    // if the file was uploaded
    if (!file.Aborted)
    {
        // Show the Progressbar
        ShowProgress = true;
        
        // if the ProgressBar
        if (HasProgressBar)
        {
            // Start the Timer
            ProgressBar.Start();
        }
        
        // Create a model
        GetSheetNamesModel model = new GetSheetNamesModel();
        
        // Set the model
        model.FullPath = file.FullPath;
        
        // Store this for later
        ExcelPath = file.FullPath;
        
        // reload the model
        HandleDiscoverSheets(model);
    }
    else
    {
        // for debugging only
        if (file.HasException)
        {
            // for debugging only
            string message = file.Exception.Message;
        }
    }
}
#endregion

Updates

11.17.2023: This project has been updated to .NET8.

8.13.2023: DataJuggler.Blazor.Components was updated because DataJuggler.UltimateHelper was updated.

version 7.1.0 7.2.2023: DataJuggler.BlazorFileUpload now supports multiple file uploads.

7.1.2 7.22.2023: DataJuggler.Blazor.Components was updated.

Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DataJuggler.Blazor.FileUpload:

Package Downloads
DataJuggler.BlazorGallery

A project template for creating a Blazor Image Gallery project that uses SQL Server for a backend. You will need SQL Server or SQL Server Express to run this project. See the Read Me for more info. Watch this video to see a demo https://youtu.be/yQz1dqYiy2g.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
11.0.0 49 11/14/2026
9.0.3 676 5/20/2025
9.0.2 761 2/9/2025
9.0.1 336 2/9/2025
9.0.0 328 2/9/2025
8.0.2 1,969 9/13/2024
8.0.1 3,981 5/19/2024
8.0.0 1,808 11/17/2023
7.2.3 815 8/27/2023
7.2.2 306 8/26/2023
7.2.1 336 8/14/2023
7.2.0 329 8/13/2023
7.1.2 354 7/22/2023
7.1.1 309 7/22/2023
7.1.0 358 7/12/2023
7.0.6 410 6/21/2023
7.0.5 461 5/8/2023
7.0.4 2,186 4/5/2023
7.0.3 562 3/6/2023
7.0.1 428 3/6/2023
Loading failed

9.0.0
2.9.2025: This has project has been updated to .NET 9.

8.0.0
11.17.2023: This project was updated to .NET8.

7.2.0
8.13.2023: DataJuggler.Blazor.Components and DataJuggler.UltimateHelper were updated.

7.1.2
7.22.2023: DataJuggler.Blazor.Components was updated.

version 7.1.0
7.2.2023: DataJuggler.BlazorFileUpload now supports multiple file uploads.

6.21.2023: I updated 4 Nuget packages:
Microsoft.AspCore.Components, Microsoft.AspCore.Components.Web, DataJuggler.Blazor.Components
and DataJuggler.UltimateHelper.

5.8.2023: Updated Microsoft.AspCore.Components and Microsoft.AspCore.Components.Web.
Also made this project be able to implement IBlazorComponent, so now it can register
with IBlazorComponentParents. This allos the parent to send a message 'OnReset", to force
a reset.

4.5.2023: Upgraded Nuget package DataJuggler.UltimateHelper and
Microsoft.AspCore.Components and Microsoft.AspCore.Components.Web.

3.6.2023: Added a Read Me with links to Blazor Excelerate examples.
v7.0.2


3.6.2023: Updated some Nuget packages
v7.0.1

12.3.2022: Released 7.0.0 version.

10.20.2022:
v7.0.0.-rc1: This version is listed as pre-release until .NET7 is out of preview.

This version has been upaded for .NET7.

7.6.2022
Version 6.0.3: I set the default MaxFileUpload to 40 meg by default.
If you don't set any value, the file upload is aborted, and yesterday I had to
add the project reference to figure this out. I figure this will make it easier.
I may add an Aborted Reason when I get some time.