NachtWiesel.Web.Files
9.0.0
dotnet add package NachtWiesel.Web.Files --version 9.0.0
NuGet\Install-Package NachtWiesel.Web.Files -Version 9.0.0
<PackageReference Include="NachtWiesel.Web.Files" Version="9.0.0" />
<PackageVersion Include="NachtWiesel.Web.Files" Version="9.0.0" />
<PackageReference Include="NachtWiesel.Web.Files" />
paket add NachtWiesel.Web.Files --version 9.0.0
#r "nuget: NachtWiesel.Web.Files, 9.0.0"
#:package NachtWiesel.Web.Files@9.0.0
#addin nuget:?package=NachtWiesel.Web.Files&version=9.0.0
#tool nuget:?package=NachtWiesel.Web.Files&version=9.0.0
NachtWiesel.Web.Files
Небольшая библиотека для упрошённой работы с файлами при разработке веб-приложений и не только.
Представлено 3 инструмента:
FileReaderService - сервис чтения файлов.
Фичи: чтение и сразу стриминг в HttpResponse.
FileWriterService - сервис создания файлов.
Фичи: автоматическое присвоение Guid (с проверкой на существование) при создании файла, запись из IFormFile, запись из IBrowserFile
ArchiverService - сервис создания архивов.
Фичи: создание и стриминг архива без обращения к диску (на запись) и оптимизированным потреблением оперативной памяти.
Для использования инструментов необходима возможность получения сервиса через DependencyInjection.
Настройка
Для настройки необходимо создать конфигурацию и присвоить ей имя (именно оно передётся первым параметром).
В настройках всех сервисов есть несколько паметров:
Срединная часть пути
string? MiddlePart
Стандартное начало пути
string DefaultPath
Использовать ли папку wwwroot для операций
bool UseWebRootPath
Эти параметры используются при построении пути (логично, не так ли?) во время проведения операций с использованием инструментов по следующей логике:
string folderPath;
if (UseWebRootPath)
{
folderPath = $"{_hostEnvironment.WebRootPath}{MiddlePart}";
}
else
{
folderPath = MiddlePart ?? DefaultPath;
}
Далее следуют примеры настройки:
FileReaderService
builder.Services.AddFileReader("STORAGE", x =>
{
x.DefaultPath = "/Storage/";
x.UseWebRootPath = false;
});
FileWriterService
builder.Services.AddFileWriter("STORAGE", x =>
{
x.DefaultPath = "/Storage/";
x.UseWebRootPath = false;
});
ArchiverService
builder.Services.AddArchiver("STORAGE", x =>
{
x.DefaultPath = "/Storage/";
x.UseWebRootPath = false;
});
Использование
- Внедрите зависимость IFileWriterFactory/IFileReaderFactory/IArchiverFactory в ваш сервис
- Вызовите метод Create("Сюда вставьте название конфигурации")
- Пользуйтесь
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- No dependencies.
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 |
---|---|---|
9.0.0 | 167 | 6/1/2025 |
Перенос библиотеки