Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 16422|Respuesta: 0

[Comunicación] Proveedores de archivos .NET Core

[Copiar enlace]
Publicado en 28/1/2019 15:13:10 | | |
Abstracciones de proveedor de archivos
Los proveedores de archivos son una capa de abstracción sobre el sistema de archivos. Su interfaz principal es IFileProvider. IFileProvider expone métodos para obtener información de archivos (IFileInfo), información de directorio (IDirectoryContents) y notificaciones de cambios de configuración (mediante un IChangeToken).

La interfaz IFileInfo proporciona métodos y propiedades para manipular archivos y directorios individuales. Tiene dos propiedades booleanas, Exists e IsDirectory, y dos propiedades para dos perfiles, Nombre y Longitud (por byte), e incluye también una propiedad de fecha LastModificat. También puedes leer el contenido del archivo mediante el método CreateReadStream.

Implementación del proveedor de archivos
Hay tres implementaciones de IFileProvider entre las que elegir: física, embebida y compuesta. El tipo físico se utiliza para acceder a archivos en el sistema real. El término incrustado se utiliza para acceder a archivos incrustados en un ensamblador. El tipo compuesto es una combinación de los dos primeros métodos.

PhysicalFileProvider
PhysicalFileProvider proporciona acceso al sistema de archivos físico. Encapsula el tipo System.IO.File, que abarca todas las rutas hacia un directorio y sus subdirectorios. Este tipo de alcance restringe el acceso a un directorio y sus subdirectorios, impidiendo que operaciones fuera del alcance accedan al sistema de archivos. Al instanciar a dicho proveedor, debes proporcionarle una ruta de directorio que el servidor pueda usar como ruta base para todas las solicitudes realizadas por este proveedor (lo que restringe las solicitudes de acceso fuera de la ruta). En una aplicación ASP.NET Core, puedes instanciar directamente a un proveedor PhysicalFileProvider, o puedes solicitar una interfaz IFileProvider usando inyección de dependencia de constructor en el controlador y el servicio. Esto último da lugar a soluciones que suelen ser más flexibles y fáciles de probar.

Crear un PhysicalFileProvider es en realidad muy sencillo, solo tienes que materializarlo y pasarle un camino físico. Luego puedes recorrer el contenido a través de su directorio o proporcionar subrutas para obtener información sobre un archivo específico.
Modifica el método ConfigureServices() de la clase Startup para registrar los servicios necesarios para acceder a archivos locales, y luego añádelos al middleware mediante inyección de constructores en el middleware, para que puedas controlar la ruta de acceso de los archivos en un solo lugar (es decir, cuando se inicia la aplicación)






Anterior:Restricciones de clave única para múltiples columnas en el Marco de Entidades (Clave única constr...
Próximo:Los ejemplos genéricos en C# se explican en detalle
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com