Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 16422|Odpowiedź: 0

[Komunikacja] Dostawcy plików .NET Core

[Skopiuj link]
Opublikowano 28.01.2019 15:13:10 | | |
Abstrskalacja dostawcy plików
Dostawcy plików to warstwa abstrakcji na systemie plików. Jego głównym interfejsem jest IFileProvider. IFileProvider udostępnia metody pozyskiwania informacji o pliku (IFileInfo), informacji o katalogu (IDirectoryContents) oraz ustawiania powiadomień o zmianach (za pomocą IChangeToken).

Interfejs IFileInfo udostępnia metody i właściwości do manipulacji pojedynczymi plikami i katalogami. Posiada dwie właściwości boolowe, Exists i IsDirectory, oraz dwie właściwości dla dwóch profili, Name i Length (per bajt), a także zawiera właściwość LastModified date. Możesz także czytać zawartość pliku za pomocą metody CreateReadStream.

Implementacja dostawcy plików
Do wyboru są trzy implementacje IFileProvider: fizyczna, osadzona i kompozytowa. Fizyczny typ służy do dostępu do plików w rzeczywistym systemie. Embedded służy do dostępu do plików osadzonych w asemblerze. Typ złożony to połączenie dwóch pierwszych metod.

PhysicalFileProvider
PhysicalFileProvider zapewnia dostęp do fizycznego systemu plików. Zawiera on typ System.IO.File, który obejmuje wszystkie ścieżki do katalogu i jego podkatalogów. Ten typ zakresu ogranicza dostęp do katalogu i jego podkatalogów, uniemożliwiając operacjom spoza zakresu dostępu do systemu plików. Podczas instancji takiego dostawcy musisz podać mu ścieżkę katalogową, którą serwer może używać jako bazowej ścieżki dla wszystkich żądań wysyłanych przez tego dostawcę (co ogranicza żądania dostępu poza ścieżką). W aplikacji ASP.NET Core możesz bezpośrednio instancjonować dostawcę PhysicalFileProvider lub zażądać interfejsu IFileProvider, korzystając z injectencji zależności konstruktora w kontrolerze i usłudze. To drugie skutkuje rozwiązaniami często bardziej elastycznymi i łatwiejszymi do przetestowania.

Utworzenie PhysicalFileProvider jest w rzeczywistości bardzo proste – wystarczy go zmaterializować i przekazać mu fizyczną ścieżkę. Następnie możesz przechodzić przez zawartość katalogu lub udostępniać podścieżki, aby uzyskać informacje o konkretnym pliku.
Zmodyfikuj metodę ConfigureServices() klasy Startup, aby rejestrować usługi potrzebne do dostępu do plików lokalnych, a następnie dodaj je do middleware poprzez inject constructor w middleware, aby móc kontrolować ścieżkę dostępu do plików w jednym miejscu (np. przy uruchamianiu aplikacji)






Poprzedni:Unikalne ograniczenia klucza dla wielu kolumn w Entity Framework (unikalny klucz constr ...
Następny:Przykłady generyczne w C# są szczegółowo wyjaśnione
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com