Αφαίρεση παροχέα αρχείων Οι πάροχοι αρχείων είναι ένα επίπεδο αφαίρεσης πάνω από το σύστημα αρχείων. Η κύρια διεπαφή του είναι το IFileProvider. Το IFileProvider εκθέτει μεθόδους για τη λήψη πληροφοριών αρχείου (IFileInfo), πληροφοριών καταλόγου (IDirectoryContents) και τη ρύθμιση ειδοποιήσεων αλλαγής (χρησιμοποιώντας ένα IChangeToken).
Η διεπαφή IFileInfo παρέχει μεθόδους και ιδιότητες για το χειρισμό μεμονωμένων αρχείων και καταλόγων. Έχει δύο δυαδικές ιδιότητες, Exists και IsDirectory, και δύο ιδιότητες για δύο προφίλ, Name και Length (ανά byte), και περιλαμβάνει επίσης μια ιδιότητα ημερομηνίας LastModified. Μπορείτε επίσης να διαβάσετε τα περιεχόμενα του αρχείου μέσω της μεθόδου CreateReadStream.
Υλοποίηση παροχέα αρχείων Υπάρχουν τρεις υλοποιήσεις του IFileProvider για να διαλέξετε: φυσική, ενσωματωμένη και σύνθετη. Ο φυσικός τύπος χρησιμοποιείται για πρόσβαση σε αρχεία στο πραγματικό σύστημα. Το Embedded χρησιμοποιείται για πρόσβαση σε αρχεία που είναι ενσωματωμένα σε ένα συγκρότημα. Ο σύνθετος τύπος είναι ένας συνδυασμός των δύο πρώτων μεθόδων.
ΦυσικόςΠαροχέαςΑρχείων Το PhysicalFileProvider παρέχει πρόσβαση στο φυσικό σύστημα αρχείων. Ενσωματώνει τον τύπο System.IO.File, ο οποίος εκτείνεται σε όλες τις διαδρομές προς έναν κατάλογο και τους υποκαταλόγους του. Αυτός ο τύπος εμβέλειας περιορίζει την πρόσβαση σε έναν κατάλογο και τους υποκαταλόγους του, εμποδίζοντας λειτουργίες εκτός εμβέλειας να έχουν πρόσβαση στο σύστημα αρχείων. Κατά τη δημιουργία μιας τέτοιας υπηρεσίας παροχής, πρέπει να της παρέχετε μια διαδρομή καταλόγου που μπορεί να χρησιμοποιήσει ο διακομιστής ως βασική διαδρομή για όλα τα αιτήματα που υποβάλλονται από αυτήν την υπηρεσία παροχής (η οποία περιορίζει τα αιτήματα πρόσβασης εκτός της διαδρομής). Σε μια εφαρμογή ASP.NET Core, μπορείτε να δημιουργήσετε απευθείας έναν πάροχο PhysicalFileProvider ή μπορείτε να ζητήσετε μια διεπαφή IFileProvider χρησιμοποιώντας την έγχυση εξάρτησης κατασκευαστή στον ελεγκτή και την υπηρεσία. Το τελευταίο οδηγεί σε λύσεις που είναι συχνά πιο ευέλικτες και ευκολότερες στη δοκιμή.
Η δημιουργία ενός PhysicalFileProvider είναι στην πραγματικότητα πολύ απλή, απλώς υλοποιήστε το και περάστε του μια φυσική διαδρομή. Στη συνέχεια, μπορείτε να διασχίσετε το περιεχόμενο μέσω του καταλόγου του ή να παρέχετε υποδιαδρομές για να λάβετε πληροφορίες σχετικά με ένα συγκεκριμένο αρχείο.
Τροποποιήστε τη μέθοδο ConfigureServices() της κλάσης Startup για να καταχωρήσετε τις υπηρεσίες που απαιτούνται για την πρόσβαση σε τοπικά αρχεία και, στη συνέχεια, προσθέστε τις στο ενδιάμεσο λογισμικό μέσω έγχυσης κατασκευαστή στο ενδιάμεσο λογισμικό, έτσι ώστε να μπορείτε να ελέγχετε τη διαδρομή πρόσβασης των αρχείων σε ένα μέρος (δηλαδή κατά την εκκίνηση της εφαρμογής)
|