12 de jan. de 2012

[Parte 8] Capítulo 2: Arquivos e diretórios de pastas no código


Muitas vezes é necessário trabalhar com arquivos e diretório de pastas em nosso código. Em um servidor Webm um site também tem uma estrutura de pastas virtuais que corresponde às pastas físicas em seu site.

Por padrão, os nomes das pastas virtuais são os mesmos que os nomes das pastas físicas. A raiz virtual é representada por uma barra (/), da mesma forma que a raiz na unidade C: do seu computador é representada por uma barra invertida (\).

Quando trabalhamos com arquivos e pastas no código, as vezes precisamos fazer referência ao caminho físico ou ao caminho virtual, dependendo dos objetos que estamos trabalhando. O ASP.NET oferece ferramentas para trabalhar com arquivos e diretórios de pastas no código: o operador ~, o método Server.MapPath e o método Href.

O operador ~ : Obtendo a raiz virtual
No código do servidor, para especificar o caminho da raiz virtual para pastas ou arquivos, devemos utilizar o operador ~. Essa possibilidade é muito útil pois permite que você mova seu site para uma localização ou pasta diferente sem quebrar os diretórios em seu código.

O método Server.MapPath: Convertendo diretórios virtuais para físicos
O método Server.MapPath converte um diretório virtual (como default.cshtml) para um caminho físico absoluto (como C:\WebSites\MyWebSiteFolder\default.cshtml). Utilizamos esse método para tarefas que exigem um caminho físico completo, como por exemplo, ler ou escrever um arquivo de texto em um servidor Web.

Normalmente não sabemos o caminho físico absoluto do site no servidor de hospedagem, assim, passamos o diretório virtual de um arquivo ou pasta para o método e ele retorna o caminho físico:

O método Href: Criando diretórios para recursos do site
O método Href de um objeto WebPage converte diretórios do servidor no código (podendo incluir o operador ~) para diretórios que o browser entende. O navegador não interpreta o operador ~ pois ele é um operador estritamente voltado para o ASP.NET.

O método Href cria diretórios para recorsos como imagens, páginas Web e arquivos CSS. Por exemplo, podemos utilizar esse método no código HTML como um atributo para os elementos <img>, <link> e <a>.

Nenhum comentário:

Postar um comentário

Sua crítica, sugestão ou comentário será muito bem vindo!