Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 16422|Resposta: 0

[Comunicação] Provedores de Arquivos .NET Core

[Copiar link]
Publicado em 28/01/2019 15:13:10 | | |
Abstração de Provedor de Arquivo
Provedores de Arquivos são uma camada de abstração sobre o sistema de arquivos. Sua interface principal é o IFileProvider. O IFileProvider expõe métodos para obter informações de arquivos (IFileInfo), informações de diretório (IDirectoryContents) e notificações de mudança de configuração (usando um IChangeToken).

A interface IFileInfo fornece métodos e propriedades para manipular arquivos e diretórios individuais. Ele possui duas propriedades booleanas, Exists e IsDirectory, e duas propriedades para dois perfis, Nome e Comprimento (por byte), além de incluir uma propriedade de data LastModificat. Você também pode ler o conteúdo do arquivo pelo método CreateReadStream.

Implementação do Provedor de Arquivos
Existem três implementações do IFileProvider para escolher: física, embutida e composta. O tipo físico é usado para acessar arquivos no sistema real. Incorporado é usado para acessar arquivos embutidos em um assembly. O tipo composto é uma combinação dos dois primeiros métodos.

PhysicalFileProvider
O PhysicalFileProvider fornece acesso ao sistema de arquivos físico. Ele encapsula o tipo System.IO.File, que abrange todos os caminhos para um diretório e seus subdiretórios. Esse tipo de escopo restringe o acesso a um diretório e seus subdiretórios, impedindo que operações fora do escopo acessem o sistema de arquivos. Ao instanciar tal provedor, você deve fornecer a ele um caminho de diretório que o servidor possa usar como caminho base para todas as requisições feitas por esse provedor (o que restringe solicitações de acesso fora do caminho). Em uma aplicação ASP.NET Core, você pode instanciar diretamente um provedor PhysicalFileProvider, ou pode solicitar uma interface IFileProvider usando injeção de dependência de construtores no controlador e no serviço. O segundo resulta em soluções que são frequentemente mais flexíveis e fáceis de testar.

Criar um PhysicalFileProvider é na verdade muito simples, basta materializá-lo e passar um caminho físico. Você pode então percorrer o conteúdo pelo diretório ou fornecer subcaminhos para obter informações sobre um arquivo específico.
Modifique o método ConfigureServices() da classe Startup para registrar os serviços necessários para acessar arquivos locais e então adicione-os ao middleware por meio de injeção de construtores no middleware, para que você possa controlar o caminho de acesso dos arquivos em um só lugar (ou seja, quando o aplicativo inicia)






Anterior:Restrições de chave únicas para múltiplas colunas no Entity Framework (Chave única constr ...
Próximo:Exemplos genéricos em C# são explicados em detalhes
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com