Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Buscopan

MapPath (Problemas com a variavel caminho)

Recommended Posts

Olá,

 

o que eu estou tentando fazer é o seguinte: Exibir todas as subpastas (apenas o nome, nao o conteudo) e arquivos de uma pasta, de uma forma que quando ele clicar na subpasta, faça o mesmo procedimento (neste caso exibiria as subpastas da subpasta e os arquivos da subpasta).

 

Eu criei uma variável caminho, que quando a pessoa clica na subpasta, caminho recebe este endereço, passando a ser a pasta principal. Entretanto está dando um erro estranho ...

 

Será que você podiam me ajudar ?

 

<%

 

Dim caminho

 

caminho=request.QueryString("path1")

 

Set fso = CreateObject("Scripting.FileSystemObject")

Set folderObject = fso.GetFolder(Server.MapPath(caminho))

Set filesObject = folderObject.Files

%>

 

// Exibe as subpastas com o caminho da subpasta como parâmetro

<table class=table1>

<%For Each subFolder in folderObject.SubFolders %>

 

<tr><td class=table2 width=70%><b><a href="pasta.asp?cam1=<%Response.Write subFolder.Path %>"> <% Response.Write subFolder.name %> </b></td><td class=table2> </td></tr>

 

<% Next %>

</table>

<br>

 

 

 

// Exibe os arquivos da pasta em questão

<table class=table1>

<tr><td class=table2><center><b>Nome do Programa</center></b></td><td class=table2> <b><center>Tamanho do Arquivo (Mb)</center></b> </td></tr>

<% For Each file In filesObject %>

<tr><td class=table2> <a href="/programas/<%Response.Write file.Name %>"><%Response.Write file.Name %> </a></td>

<td class=table2> <%Response.Write FormatNumber(file.size/1024/1024,2)%> </td></tr>

<%Next %>

 

</table>

<br>

% Set folderObject = Nothing%>

 

Dúvida1: Quando eu vou acessar eu tenho que digitar http://localhost/teste.asp?path1=/ , para que ele tenha um parâmetro inicial. Existe um meio de se fazer algo parecido com: "If path1="" then caminho=/" ? testei e nao funcionou.

 

Dúvida 2: Digitando da maneira que eu disse acima funciona normalmente, entretanto, quando eu clico na subpasta, aparece o seguinte erro:

 

Server.MapPath(), ASP 0172 (0x80004005)

O parâmetro Path para o método MapPath deve ser um caminho virtual. Um caminho físico foi usado.

 

 

Alguém poderia me ajudar ?

 

Atenciosamente,

 

Buscopan

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado ...vou testar ...Alguém sabe como resolver o problema do caminho ?Fiquei um tempão no site do sloopycode (excelente site) e não encontrei nada ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O queaconteceu é que você deve ter passado no parâmetro um caminho completo (c:\umapasta) o MapPath só recebe caminhos relativos e retorna o caminho fisico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.