FileHub 2.0.0
dotnet add package FileHub --version 2.0.0
NuGet\Install-Package FileHub -Version 2.0.0
<PackageReference Include="FileHub" Version="2.0.0" />
<PackageVersion Include="FileHub" Version="2.0.0" />
<PackageReference Include="FileHub" />
paket add FileHub --version 2.0.0
#r "nuget: FileHub, 2.0.0"
#:package FileHub@2.0.0
#addin nuget:?package=FileHub&version=2.0.0
#tool nuget:?package=FileHub&version=2.0.0
FileHub
Core package for FileHub — a .NET storage abstraction. One API (IFileHub → DirectoryEntry → FileEntry) over local disk, in-memory, and cloud object storage. Swap the driver, keep the code.
Heads up: FileHub is a young library. The API is stabilizing but rough edges are likely — bug reports, feedback, and PRs are very welcome on the issue tracker.
Install
dotnet add package FileHub
What's in this package
- The
IFileHub,DirectoryEntry,FileEntrytypes and exceptions. - Local driver (
FileHub.Local.LocalFileHub) — wrapsSystem.IO. - Memory driver (
FileHub.Memory.MemoryFileHub) — in-process, no I/O. Great for tests. - Sync + async on the same types. Async is the source of truth; sync delegates.
- Sandboxed by default — every hub has a root.
.., absolute paths and symlink escapes are rejected. AsReadOnly()wrappers for files and directories.- Multi-targets
netstandard2.0;net8.0. Zero external dependencies.
Quick start
using FileHub.Local;
var hub = new LocalFileHub(@"C:\data"); // or: new MemoryFileHub();
var file = hub.Root.CreateFile("hello.txt");
file.SetText("hi");
Console.WriteLine(file.ReadAllText());
Other drivers
| Backend | Package |
|---|---|
| Amazon S3 | FileHub.AmazonS3 |
| Oracle Cloud Object Storage | FileHub.OracleObjectStorage |
| FTP / FTPS | FileHub.Ftp |
| DI integration | FileHub.DependencyInjection |
Documentation
Full docs and driver guides live in the project wiki.
License
MIT — see LICENSE.txt.
| 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 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 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 was computed. 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. 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.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on FileHub:
| Package | Downloads |
|---|---|
|
FileHub.Ftp
FTP driver for FileHub (built on FluentFTP) — exposes any FTP / FTPS server as an IFileHub with the same API as the Local and Memory drivers. Supports atomic rename inside the same connection, lazy connect with idle-timeout reconnect, and stream-based read/write. |
|
|
FileHub.AmazonS3
Amazon S3 driver for FileHub — exposes any S3 bucket as an IFileHub with the same API as the Local and Memory drivers. Supports server-side copy/move, multipart uploads, presigned URLs, and cross-region operations. |
|
|
FileHub.OracleObjectStorage
Oracle Cloud Object Storage driver for FileHub — exposes any OCI Object Storage bucket as an IFileHub with the same API as the Local and Memory drivers. Supports server-side rename/copy, pre-authenticated read URLs, and cross-region copy. |
|
|
FileHub.DependencyInjection
Microsoft.Extensions.DependencyInjection integration for FileHub — register named hubs (IFileHub) on IServiceCollection and resolve them by name at runtime, with sane defaults for service lifetimes. |
GitHub repositories
This package is not used by any popular GitHub repositories.