Simplify.Web.Multipart
1.9.0
dotnet add package Simplify.Web.Multipart --version 1.9.0
NuGet\Install-Package Simplify.Web.Multipart -Version 1.9.0
<PackageReference Include="Simplify.Web.Multipart" Version="1.9.0" />
<PackageVersion Include="Simplify.Web.Multipart" Version="1.9.0" />
<PackageReference Include="Simplify.Web.Multipart" />
paket add Simplify.Web.Multipart --version 1.9.0
#r "nuget: Simplify.Web.Multipart, 1.9.0"
#:package Simplify.Web.Multipart@1.9.0
#addin nuget:?package=Simplify.Web.Multipart&version=1.9.0
#tool nuget:?package=Simplify.Web.Multipart&version=1.9.0
Simplify.Web.Multipart
Simplify.Web.Multipart is a package which provides multipart form view model and model binder for Simplify.Web web-framework.
Quick start
Registering binder
public void Configuration(IApplicationBuilder app)
{
// ...existing code...
HttpModelHandler.RegisterModelBinder<HttpMultipartFormModelBinder>();
// ...existing code...
app.UseSimplifyWeb();
}
public void ConfigureServices(IServiceCollection services)
{
// ...existing code...
DIContainer.Current.RegisterHttpMultipartFormModelBinder();
// ...existing code...
}
Getting files from client
Asynchronous
public class MyController : ControllerAsync<MultipartViewModel>
{
public override async Task<ControllerResponse> Invoke()
{
await ReadModelAsync();
Model.Files;
}
}
Synchronous
Multipart files will be deserialized to the controller model on first model access
public class MyController : Controller<MultipartViewModel>
{
public override ControllerResponse Invoke()
{
Model.Files;
}
}
Binding parameters to a strongly typed model
Instead of searching through the Parameters list manually, you can bind the multipart form parameters to a strongly typed model the same way as for a regular query/form/JSON request. Inherit your model from MultipartModel (which exposes Files) and add your own properties:
public class UploadModel : MultipartModel
{
public string Title { get; set; }
public int Count { get; set; }
}
The parameters are parsed into the model properties automatically (the same parser as Simplify.Web query/form binding is reused, so [BindProperty], [Exclude], [Format], IList<T> properties and validation attributes are all supported), while the uploaded files remain accessible via Model.Files:
public class MyController : Controller2<UploadModel>
{
public async Task<ControllerResponse> Invoke()
{
Model.Title; // bound from the "Title" multipart parameter
Model.Count; // bound from the "Count" multipart parameter
Model.Files; // uploaded files
}
}
The legacy MultipartViewModel (which exposes the raw Parameters list) still works as before and now also inherits from MultipartModel.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. 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. net9.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- HttpMultipartParser (>= 10.0.0)
- Simplify.Web (>= 5.3.0)
-
net10.0
- HttpMultipartParser (>= 10.0.0)
- Simplify.Web (>= 5.3.0)
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 |
|---|---|---|
| 1.9.0 | 0 | 6/26/2026 |
| 1.8.0 | 542 | 6/5/2024 |
| 1.8.0-pre01 | 297 | 6/1/2024 |
| 1.7.2 | 357 | 8/26/2023 |
| 1.7.1 | 449 | 2/11/2023 |
| 1.7.0 | 494 | 1/10/2023 |
| 1.6.0 | 642 | 7/24/2022 |
| 1.5.0 | 659 | 6/4/2022 |
| 1.4.5 | 695 | 5/18/2022 |
| 1.4.4 | 692 | 3/13/2022 |
| 1.4.3 | 5,813 | 11/24/2021 |
| 1.4.2 | 654 | 4/26/2021 |
| 1.4.1 | 620 | 2/28/2021 |
| 1.4.0 | 702 | 1/5/2021 |
| 1.3.2 | 740 | 12/11/2020 |
| 1.3.1 | 777 | 10/26/2020 |
| 1.3.0 | 816 | 4/29/2020 |
| 1.2.0 | 870 | 12/22/2019 |
| 1.2.0-pre01 | 658 | 12/17/2019 |
| 1.1.0 | 846 | 10/21/2019 |