Hoje em dia muitos programadores utilizam uma maneira ruim de pegar o nome, extensão do arquivo e nome da pasta. Existe no framework uma maneira de pegar todos estes dados de forma fácil e simples.
O que vou mostrar aqui pode ser utilizado em WebService, páginas .aspx e em outras plataformas usando o C#.NET.
Tags: C#.NET, Visual Studio 2010, System.IO.Path
Quando iniciei o documento falando de maneira errada para pegar a extensão do arquivo, quis dizer que muitos usam o método substring(0, arquivo.length – 3). Essa maneira funciona? Sim, funciona, mas existe uma maneira mais rápida para fazer isso usando o próprio framework da Microsoft disponível (Code 1).
String extensao = arquivo.substring(0, arquivo.Length – 3);
Code 1
Esses dias precisei fazer algumas coisas com artigos físicos e arquivos da web. Notei que em vários fóruns desenvolvedores falando para utilizar o substring. Acredito que pode ser por falta de conhecimento do framework .NET, pois o método está pronto.
A mesma forma funciona para pegar o nome do arquivo e o nome da pasta.
Pegando a extensão do arquivo
Para pegar a extensão do arquivo, basta utilizar o método GetExtension passando o caminho da imagem ou do arquivo. (Code 2)
string extensao = Path.GetExtension(CaminhoImagem);
Code 2
A variável chamada CaminhoImagem possui o valor do caminho físico ou url com barras , funciona dos dois jeitos.
Pegando o nome do arquivo sem a extensão
Para pegar o nome do arquivo sem a extensão basta utilizar outro método do próprio framework .NET. (Code 3)
string nomeArquivo = Path.GetFileNameWithoutExtension(CaminhoImagem);
Code 3
De acordo com o Code 3, o nome do arquivo retornado e armazenado dentro da string virá sem a extensão. Por exemplo: Arquivo.doc, o resultado será Arquivo.
Pegando o nome do diretório
Para pegar o nome do diretório, basta utilizar outro método específico do próprio framework .NET. (Code 4)
string pasta = Path.GetDirectoryName(CaminhoImagem);
Code 4
O que é importante lembrar antes de começar a desenvolver, é que precisa fazer a importação no início da classe. A classe que precisa importar é a System.IO. Veja o Code 5.
using System.IO;
Code 5
Bom, essa foi apenas algumas dicas para trabalhar com arquivo do tipo imagem ou qualquer outro tipo. Todos os testes feitos foram com arquivo do tipo txt, tif e jpg. Espero que tenha gostado e qualquer dúvida pode entrar em contato. This article was originally written by: Maurício Júnior MCP, MCAD, MVP Microsoft www.mauriciojunior.org blog.mauriciojunior.org
Maurício Júnior - MCP, MCAD, MVP Microsoft edited Revision 2. Comment: Colocando o autor original
Fernando Lugão Veltem edited Revision 1. Comment: alterado tags
Maurício Júnior - MCP, MCAD, MVP Microsoft edited Original. Comment: Change