Ir para conteúdo

POWERED BY:

Arquivado

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

Vanilson

[Resolvido] Upload de arquivos com componente

Recommended Posts

Estou a tentar fazer upload de arquivos usando o componente dundas e ao fazer o upload do arquivo ele retorna o seguinte erro:

 

Server.MapPath() erro 'ASP 0172 : 80004005'

 

Caminho Inválido

 

/ferrangol_website_sistema/Dundas.asp, linha 15

 

O parâmetro Path do método MapPath deve ser um caminho virtual. Foi usado um caminho físico.

 

Aqui vão os codigos:

 

Dundas.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<%
Set objUpload = Server.CreateObject("Dundas.Upload.2")
objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False
objUpload.Save(Server.MapPath("C:\inetpub\wwwroot\Ferrangol_WebSite_Sistema"))
Response.Write "Arquivo enviado com sucesso!"
objUpload = Nothing
%>

</body>
</html>
form.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<%
Set objUpload = Server.CreateObject("Dundas.Upload.2")
objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False
objUpload.Save(Server.MapPath("C:\inetpub\wwwroot\Ferrangol_WebSite_Sistema"))
Response.Write "Arquivo enviado com sucesso!"
objUpload = Nothing
%>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se existe realmente o caminho citado e veja as permissões no arquivo e pasta

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se existe realmente o caminho citado e veja as permissões no arquivo e pasta

 

Já verifiquei e o erro permanece...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro esta aqui

 

objUpload.Save(Server.MapPath("C:\inetpub\wwwroot\Ferrangol_WebSite_Sistema"))

você esta utilizando Server mappath que é para chamativas de pasta dinâmica e esta colocando o endereço fisico do caminho, por isso acontece o erro.

 

Tente assim que vai dar certo

 

objUpload.Save("C:\inetpub\wwwroot\Ferrangol_WebSite_Sistema")

Ou se quiser com server mappath seria assim

 

objUpload.Save(Server.MapPath("/Ferrangol_WebSite_Sistema"))

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

usando o server.MapPath, imaginando uma pasta pedidos dentro de C:\Inetpub\wwwroot\upload

 

filePath= Server.MapPath("upload")
objUpload.Save filePath

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário criar variável para este caso uma vez que será chamado apenas 1 vez, o uso de variáveis só seria aconselhado caso o caminho fosse utilizado em outra parte do code na mesma página, e não é o que acontece nesse caso, isso que você sugeriu é o que chamamos do famoso POG.

Compartilhar este post


Link para o post
Compartilhar em outros sites

trecho do code retirado do próprido componente Dundas Upload

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá sugere o geral, basicamente para se precisar seguir resgatando o valor em outra parte do code, o que não acontece nesse caso, o uso de variáveis seria apenas para acrescentar bytes na aplicação.

 

Novamente repito e isso é a lógica não tem nem discussão, se for utilizar o referido em apenas 1 parte do code não é necessário o uso de variável.

 

Por conta desta váriavel para uma melhor performance tb teria que declarar ela... com um dim variavel desta forma, mais uma coisa sem necessidade, ou seja... mais bytes inúteis na aplicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas com certeza, o quanto mais pudérmos poupar desempenho no server e agilizar o code, é importante

Compartilhar este post


Link para o post
Compartilhar em outros sites

Patrique e xanburzum valeu pelas ideias, tentei fazer o que me falaram agora aparece o seguinte o erro:

Dundas.Upload.2 erro '80004005'

 

Can't map the virtual path.

 

/Dundas.asp, linha 14

 

O codigo está assim:

 

<%
Set objUpload = Server.CreateObject("Dundas.Upload.2")
objUpload.UseVirtualDir = True
objUpload.UseUniqueNames = False
objUpload.Save("C:\inetpub\wwwroot\Ferrangol_WebSite_Sistema")
Response.Write "Arquivo enviado com sucesso!"
objUpload = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui esta apontando para um caminho virtual

 

objUpload.UseVirtualDir = True

como esta usando fisico, coloque isso como False e teste

 

Assim...

 

objUpload.UseVirtualDir = False

Compartilhar este post


Link para o post
Compartilhar em outros sites

conforme mencionado no post #2, coloque as permissões no arquivo e pasta, ou seja direitos administrativos para ler,gravar etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, agora funcionou...Mais seguinte sem quereR fugir do topico, tem algo que me incomoda já algum tempo, quando eu estou a desenvolver sites em ASP eu tenho sempre que mudar a linguagem padrão do dreamweaver ao criar paginas em ASP, normalmente vem escrito VBSCRIPT eu tenho sempre q alterar para JAVASCRIPT e ai funciona normalmente, caso manter VBSCRIPT obtenho um montão de erros e começo a achar que isso é gambiarra, existe alguma dica para isso?

 

Isto acontece frequentemente quando estou a trabalhar com BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim que o dreamweaver é aberto ele lhe dá a opção de escolher, no Page type, se você quer VBScript ou JAVAScript, e dependendo da linguagem a semantica dela é diferente e pode ocasionar erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiramente como resolveu o problema?

 

Em relação ao dreamweaver eu não trabalho com ele, por isso vou ficar te devendo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiramente como resolveu o problema?

 

Em relação ao dreamweaver eu não trabalho com ele, por isso vou ficar te devendo.

 

[]'s

 

O problema estava msmo no tipo de caminho o UseVirtualDir tinha estar false como tu falaste, com relação ao dreamweaver não há problema

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.