Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16422|Ответ: 0

[Связь] Провайдеры файлов .NET Core

[Скопировать ссылку]
Опубликовано 28.01.2019 15:13:10 | | |
Абстракция File Provider
Файловые провайдеры — это слой абстракции поверх файловой системы. Её основной интерфейс — IFileProvider. IFileProvider предоставляет методы получения информации о файлах (IFileInfo), данных в каталоге (IDirectoryContents) и установки уведомлений об изменениях (с помощью IChangeToken).

Интерфейс IFileInfo предоставляет методы и свойства для обработки отдельными файлами и каталогами. У него есть два булевых свойства — Exists и IsDirectory, а также два свойства для двух профилей — Name и Length (на байт), а также свойство даты LastModified. Вы также можете читать содержимое файла с помощью метода CreateReadStream.

Реализация с помощью провайдера файлов
Существует три варианта реализации IFileProvider: физическую, встроенную и композитную. Физический тип используется для доступа к файлам в реальной системе. Embedded используется для доступа к файлам, встроенным в ассемблер. Составный тип представляет собой комбинацию первых двух методов.

PhysicalFileProvider
PhysicalFileProvider предоставляет доступ к физической файловой системе. Он инкапсулирует тип файла System.IO.File, который охватывает все пути к каталогу и её подкаталогам. Такой тип области ограничен доступом к каталогу и его подкаталогам, предотвращая доступ к файловой системе операций вне сферы действия. При создании такого провайдера необходимо предоставить ему путь в каталог, который сервер сможет использовать как базовый путь для всех запросов, сделанных этим провайдером (что ограничивает запросы доступа вне пути). В приложении ASP.NET Core вы можете напрямую создать провайдера PhysicalFileProvider или запросить интерфейс IFileProvider, используя инъекцию зависимостей конструктора в контроллере и сервисе. Последнее приводит к решениям, которые часто более гибкие и проще тестируемые.

Создание PhysicalFileProvider на самом деле очень просто: просто реализуйте его и пропустите по физическому маршруту. Затем вы можете проходить содержимое через его каталог или создавать подпути, чтобы получить информацию о конкретном файле.
Модифицируйте метод ConfigureServices() класса Startup, чтобы зарегистрировать сервисы, необходимые для доступа к локальным файлам, а затем добавьте их в промежуточное ПО через инъекцию конструкторов в промежуточном ПО, чтобы управлять путь доступа файлов в одном месте (то есть при запуске приложения).






Предыдущий:Уникальные ограничения ключа для нескольких столбцов в Entity Framework (Уникальный ключ constr ...
Следующий:Общие примеры C# подробно объясняются
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com