DataJuggler.Blazor.FileUpload 7.0.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package DataJuggler.Blazor.FileUpload --version 7.0.4
NuGet\Install-Package DataJuggler.Blazor.FileUpload -Version 7.0.4
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="7.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DataJuggler.Blazor.FileUpload --version 7.0.4
#r "nuget: DataJuggler.Blazor.FileUpload, 7.0.4"
#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.
// Install DataJuggler.Blazor.FileUpload as a Cake Addin
#addin nuget:?package=DataJuggler.Blazor.FileUpload&version=7.0.4

// Install DataJuggler.Blazor.FileUpload as a Cake Tool
#tool nuget:?package=DataJuggler.Blazor.FileUpload&version=7.0.4

BlazorFileUpload

This is a wrapper of Steve Sanderson's BlazorFileInput

This project has been updated to .NET 7.

To see a 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.Excelrate (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

It is on my to do list to handle multiple file uploads, I just haven't had a use case that I need this feature yet.

Volunteers are welcome to add this and I will merge the pull request.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
8.0.0 1,050 11/17/2023
7.2.3 561 8/27/2023
7.2.2 117 8/26/2023
7.2.1 159 8/14/2023
7.2.0 144 8/13/2023
7.1.2 169 7/22/2023
7.1.1 145 7/22/2023
7.1.0 170 7/12/2023
7.0.6 193 6/21/2023
7.0.5 246 5/8/2023
7.0.4 1,547 4/5/2023
7.0.3 259 3/6/2023
7.0.1 216 3/6/2023
7.0.0 1,164 11/9/2022
7.0.0-rc1 110 10/21/2022
6.0.3 3,412 7/6/2022
6.0.2 698 6/8/2022
6.0.1 1,721 1/23/2022
5.0.1 3,396 11/12/2021
5.0.0 318 11/11/2021
2.0.0 338 11/11/2021
1.6.2 438 10/14/2021
1.6.1 373 10/13/2021
1.6.0 3,157 3/10/2021
1.5.1 4,876 11/30/2020
1.5.0 439 11/27/2020
1.4.1 489 11/13/2020
1.4.0 455 11/13/2020
1.3.5 15,319 4/8/2020
1.3.4 2,909 3/6/2020
1.3.3 652 2/26/2020
1.3.2 721 2/7/2020
1.3.1 517 2/7/2020
1.3.0 720 1/25/2020
1.2.8 612 1/24/2020
1.2.7 3,267 1/15/2020
1.2.6 552 1/14/2020
1.2.5 506 1/14/2020
1.2.4 547 1/13/2020
1.2.3 485 1/13/2020
1.2.2 494 1/13/2020
1.2.1 634 1/12/2020
1.2.0 647 1/12/2020
1.1.0 683 1/5/2020
1.0.11-Preview 381 12/3/2019
1.0.10-Preview 293 11/16/2019
1.0.9-Preview 253 11/12/2019
1.0.8-Preview 264 11/12/2019
1.0.7-Preview 260 11/12/2019
1.0.6-Preview 255 11/11/2019
1.0.5-Preview 258 11/11/2019

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.