NachtWiesel.Web.Files.Minio
8.0.0
See the version list below for details.
dotnet add package NachtWiesel.Web.Files.Minio --version 8.0.0
NuGet\Install-Package NachtWiesel.Web.Files.Minio -Version 8.0.0
<PackageReference Include="NachtWiesel.Web.Files.Minio" Version="8.0.0" />
<PackageVersion Include="NachtWiesel.Web.Files.Minio" Version="8.0.0" />
<PackageReference Include="NachtWiesel.Web.Files.Minio" />
paket add NachtWiesel.Web.Files.Minio --version 8.0.0
#r "nuget: NachtWiesel.Web.Files.Minio, 8.0.0"
#:package NachtWiesel.Web.Files.Minio@8.0.0
#addin nuget:?package=NachtWiesel.Web.Files.Minio&version=8.0.0
#tool nuget:?package=NachtWiesel.Web.Files.Minio&version=8.0.0
NachtWiesel.Web.Files.Minio
Небольшая библиотека для упрошённой работы с файлами через S3 Minio-like при разработке веб-приложений и не только.
Представлено 3 инструмента:
MinioFileReaderService - сервис чтения файлов.
Фичи: чтение и сразу стриминг в HttpResponse.
MinioFileWriterService - сервис создания файлов.
Фичи: автоматическое присвоение Guid (с проверкой на существование) при создании файла, запись из IFormFile, запись из IBrowserFile
MinioArchiverService - сервис создания архивов.
Фичи: создание и стриминг архива без обращения к диску (на запись) и оптимизированным потреблением оперативной памяти.
Для использования инструментов необходима возможность получения сервиса через DependencyInjection.
Настройка
Для настройки необходимо создать конфигурацию и присвоить ей имя (именно оно передётся первым параметром).
В настройках всех сервисов есть несколько паметров:
Эндпоинт вашего S3 Minio-like сервиса
string Endpoint
Access-ключ
string AccessKey
Secret-ключ
string SecretKey
Начало пути которое будет автоматически приписываться перед filePath при любой операцией (этот параметр не обязателен)
string BasePath
Имя бакета с которым будет вестись работа
string BucketName
Далее следуют примеры настройки:
public string Endpoint { get; set; } = null!; public string AccessKey { get; set; } = null!; public string SecretKey { get; set; } = null!; public string BasePath { get; set; } = null!; public string BucketName { get; set; } = null!;
FileReaderService
builder.Services.AddMinioFileServices("STORAGE", x =>
{
x.Endpoint = "minio.nachtwiesel.ru";
x.AccessKey = "access";
x.SecretKey = "secret";
x.BasePath = "/BasicFiles";
x.BucketName = "testing-bucket";
});
Использование
- Внедрите зависимость IFileWriterFactory/IFileReaderFactory/IArchiverFactory в ваш сервис
- Вызовите метод Create("Сюда вставьте название конфигурации")
- Пользуйтесь
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
-
net8.0
- Minio (>= 6.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Перенос библиотеки