Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 16422|Répondre: 0

[Communication] Fournisseurs de fichiers .NET Core

[Copié le lien]
Publié sur 28/01/2019 15:13:10 | | |
Abstraction du fournisseur de fichiers
Les fournisseurs de fichiers sont une couche d’abstraction au-dessus du système de fichiers. Son interface principale est IFileProvider. IFileProvider expose des méthodes pour obtenir des informations de fichiers (IFileInfo), des informations de répertoire (IDirectoryContents) et des notifications de modification (en utilisant un IChangeToken).

L’interface IFileInfo fournit des méthodes et des propriétés pour manipuler des fichiers et répertoires individuels. Il possède deux propriétés booléennes, Exists et IsDirectory, ainsi que deux propriétés pour deux profils, Nom et Longueur (par octet), et inclut également une propriété de date LastModifié. Vous pouvez également lire le contenu du fichier via la méthode CreateReadStream.

Implémentation du fournisseur de fichiers
Il existe trois implémentations d’IFileProvider parmi lesquelles choisir : physique, embarquée et composite. Le type physique est utilisé pour accéder aux fichiers dans le système réel. L’embarqué sert à accéder aux fichiers intégrés dans un assembleur. Le type composé est une combinaison des deux premières méthodes.

PhysicalFileProvider
PhysicalFileProvider donne accès au système de fichiers physique. Il encapsule le type de fichier System.IO., qui étend tous les chemins menant à un répertoire et à ses sous-répertoires. Ce type de portée restreint l’accès à un répertoire et à ses sous-répertoires, empêchant les opérations hors du champ d’application d’accéder au système de fichiers. Lors de l’instanciation d’un tel fournisseur, vous devez lui fournir un chemin de répertoire que le serveur peut utiliser comme chemin de base pour toutes les requêtes effectuées par ce fournisseur (ce qui restreint les requêtes d’accès en dehors du chemin). Dans une application ASP.NET Core, vous pouvez instancier directement un fournisseur PhysicalFileProvider, ou vous pouvez demander une interface IFileProvider en utilisant l’injection de dépendance de constructeur dans le contrôleur et le service. Ce dernier aboutit à des solutions souvent plus flexibles et plus faciles à tester.

Créer un PhysicalFileProvider est en réalité très simple, il suffit de le matérialiser et de lui passer un chemin physique. Vous pouvez ensuite parcourir le contenu dans son répertoire ou fournir des sous-chemins pour obtenir des informations sur un fichier spécifique.
Modifiez la méthode ConfigureServices() de la classe Startup pour enregistrer les services nécessaires à l’accès aux fichiers locaux, puis ajoutez-les au middleware via l’injection de constructeurs dans le middleware, afin de pouvoir contrôler le chemin d’accès des fichiers en un seul endroit (c’est-à-dire au démarrage de l’application)






Précédent:Contraintes de clé unique pour plusieurs colonnes dans le cadre d’entités (Clé unique constr ...
Prochain:Les exemples génériques de C# sont expliqués en détail
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com