![]() |
VOOZH | about |
dotnet add package ISL.NetFramework.FileStorage --version 2.1.0
NuGet\Install-Package ISL.NetFramework.FileStorage -Version 2.1.0
<PackageReference Include="ISL.NetFramework.FileStorage" Version="2.1.0" />
<PackageVersion Include="ISL.NetFramework.FileStorage" Version="2.1.0" />Directory.Packages.props
<PackageReference Include="ISL.NetFramework.FileStorage" />Project file
paket add ISL.NetFramework.FileStorage --version 2.1.0
#r "nuget: ISL.NetFramework.FileStorage, 2.1.0"
#:package ISL.NetFramework.FileStorage@2.1.0
#addin nuget:?package=ISL.NetFramework.FileStorage&version=2.1.0Install as a Cake Addin
#tool nuget:?package=ISL.NetFramework.FileStorage&version=2.1.0Install as a Cake Tool
Production-ready storage abstraction with pluggable providers:
appsettings*.json)Register storage:
services.AddIslFileStorage(configuration);
Configure providers under Framework:FileStorage:
{
"Framework": {
"FileStorage": {
"Enabled": true,
"DefaultProfile": "public-files",
"Profiles": [
{
"Name": "public-files",
"Provider": "AzureBlob",
"RootPath": "cms-assets",
"PublicBaseUrl": "https://cdn.example.com",
"AzureBlob": {
"ConnectionString": "UseDevelopmentStorage=true",
"ContainerName": "media",
"CreateContainerIfNotExists": true,
"PublicAccess": true
}
},
{
"Name": "private-minio",
"Provider": "Minio",
"RootPath": "tenant-a",
"S3": {
"BucketName": "content",
"Region": "us-east-1",
"AccessKey": "minioadmin",
"SecretKey": "minioadmin",
"ServiceUrl": "http://localhost:9000",
"UsePathStyle": true,
"UseHttp": true,
"CreateBucketIfNotExists": true
}
},
{
"Name": "ftp-archive",
"Provider": "Ftp",
"RootPath": "archive",
"Ftp": {
"Host": "ftp.example.com",
"Port": 21,
"Username": "ftp-user",
"Password": "ftp-password",
"UseSsl": false,
"RootDirectory": "/"
}
}
]
}
}
}
Content Entity)UploadContentAsync creates storage metadata mapped directly to:
ISL.NetFramework.Entity.Framework.CMS.MSSQL.Content
var storage = storageProvider.GetStorage("public-files");
var result = await storage.UploadContentAsync(new ContentStorageUploadRequest
{
ContainerName = "media",
FileName = "2026/04/banner.png",
OriginalFileName = "banner.png",
Content = stream,
ContentType = "image/png",
IsItPrivateContainer = false,
Keywords = new[] { "home", "hero" }
}, cancellationToken);
// Persist directly to CMS content table
var contentLog = result.ContentLog;
ContentLog includes:
StorageBaseUrlContainerNameIsItPrivateContainerFileNameOriginalFileNameThumbnailContainerNameSmallThumbnailUrlPrivacyContentTypeUploaded (UTC)ExtensionKeywordsIsHidden| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on ISL.NetFramework.FileStorage:
| Package | Downloads |
|---|---|
|
ISL.NetFramework.Communication.Driver
Single-package communication driver that unifies Email, SMS, and File Storage access for ISL services. |
This package is not used by any popular GitHub repositories.