elFinder.Net.Core 1.5.0

.NET Standard 2.0
Install-Package elFinder.Net.Core -Version 1.5.0
dotnet add package elFinder.Net.Core --version 1.5.0
<PackageReference Include="elFinder.Net.Core" Version="1.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add elFinder.Net.Core --version 1.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: elFinder.Net.Core, 1.5.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install elFinder.Net.Core as a Cake Addin
#addin nuget:?package=elFinder.Net.Core&version=1.5.0

// Install elFinder.Net.Core as a Cake Tool
#tool nuget:?package=elFinder.Net.Core&version=1.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

elFinder.Net.Core

Getting Started

  1. Install the NuGet package: https://www.nuget.org/packages/elFinder.Net.Core/
  2. Look at the basic demo project for an example of how to integrate it into your web project. (the example uses ASP.NET Core 3.1 and some additional packages listed below).

Advanced

The advanced demo project has some additional use cases enabled, including:

  • Integrate Authentication/Authorization (Cookies, OAuth2 JWT).
  • Multi-tenant support.
  • Events.
  • Some customized behaviors can be done outside the core library.
  • Integrate Quota management plugin.
  • For an example of how to write a plugin, see Logging plugin example. This plugin intercepts all method calls of IConnector and IDriver instances then logs the method's information (arguments, method name, return value, .etc) to the console output.

Customization

Since file management is a complex topic and the requirements are diverse, here are some ways to customize the library:

  1. Override the default implementation
  2. Use interceptors (as those plugins here which use Castle DynamicProxy and built-in .NET Core DI container).

Some important classes and their descriptions:

  • IConnector/Connector: the backend connector which handles elFinder commands sent from clients.
  • IDriver/FileSystemDriver: the driver which provides a storage mechanism (in this case, the OS file system). There are other drivers for different storage, e.g, elFinder AzureStorage.
  • IFile/FileSystemFile; IDirectory/FileSystemDirectory: the file system's abstractions/implementations.
  • Others: please download the repository, then run the demo projects. They should walk through all of the important classes.

About this repository

There are 3 main projects:

  • elFinder.Net.Core: the core backend connector for elFinder.
  • elFinder.Net.AspNetCore: enable ASP.NET Core 2.2 projects to easily integrate the connector package.
  • elFinder.Net.Drivers.FileSystem: the default Local File System driver.

Plugins:

  • Plugins/elFinder.Net.Plugins.FileSystemQuotaManagement: enable quota management and restriction features.

Credits

elFinder.Net.Core is based on the project elFinder.NetCore of Matt Gordon. Many thanks for the excellent works. For those who may get confused about which package to use, try and find the one that best suits your project. I create this with some modification that suits my use cases and the repository is currently active. Some of the main differences are:

  • Enable better security, ACL (for both Frontend and Backend)
  • Support .NET Standard 2.0 (remove ASP.NET Core dependency).
  • Customizable through models, interfaces, and events.
  • More features and extensibility: plugins, interceptors, etc.
  • Support more commands.
  • Follow the specification from https://github.com/Studio-42/elFinder/wiki more strictly.
Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on elFinder.Net.Core:

Package Downloads
elFinder.Net.Drivers.FileSystem

elFinder.Net.Core Local File System driver.

elFinder.Net.AspNetCore

This package enables ASP.NET Core 2.2 projects to easily integrate the elFinder.Net.Core connector. See the example project on Github for usage detail.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on elFinder.Net.Core:

Repository Stars
grandnode/grandnode2
Free, Open source, Fast, Headless, Multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, LiteDB, Vue.js.
Version Downloads Last updated
1.5.0 1,462 4/30/2022
1.4.4 1,032 3/21/2022
1.4.3 165 3/19/2022
1.4.2 185 3/7/2022
1.4.1 183 2/20/2022
1.4.0 160 2/19/2022
1.3.5 163 2/19/2022
1.3.4 3,584 10/31/2021
1.3.3.1 1,291 7/26/2021
1.2.6 341 7/16/2021
1.2.4 499 7/1/2021
1.2.3 520 7/1/2021
1.2.2 433 6/28/2021
1.2.1 472 6/26/2021
1.2.0 413 6/23/2021
1.1.2 454 6/20/2021