NachtWiesel.Web.Files 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("Сюда вставьте название конфигурации")
- Пользуйтесь
No packages depend on NachtWiesel.Web.Files.
Перенос библиотеки
.NET 9.0
- No dependencies.