Ir para conteúdo

POWERED BY:

Arquivado

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

wilnet

upload... Sabem explicar?

Recommended Posts

Olá galera do ASP e solucionadora das dúvidas dos deprimidos e deseludidos.

 

Estou tendo uma difuculdade em fazer upload com minha página, estou usando o componente FSO (FileSystemObject) com o seguinte caminho para gravação das fotos:

PastaDestino = "d:\hshome\loja\Superinfo\imagem\Fotos", No entanto, quando vou reportar os arquivos ele carrega uma página invalida dando este erro:

 

A página não pode ser exibida

Há um problema com a página que você está tentando acessar e ela não pode ser exibida.

HTTP 500 - erro interno do servidor

Internet Explorer

O que gostaria de saber, é porque quando testo em minha máquina ele funciona corretamente, uso o ISS e o servidor onde hospedo minhas páginas tem este componente habilitado. Será que tenho que configurar algo no painel de controle do provedor?

Abaixo segue o code se quiserem dar uma olhada:

<%@ Language=VBScript %>

<%

    Dim Contador, Tamanho

    Dim ConteudoBinario, ConteudoTexto

    Dim Delimitador, Posicao1, Posicao2

    Dim ArquivoNome, ArquivoConteudo, PastaDestino

    Dim objFSO, objArquivo

           

    PastaDestino = "d:\hshome\loja\Superinfo\imagem\Fotos"

           

    '***** Determina o Tamanho do Conteúdo *****

    Tamanho = Request.TotalBytes

    '***** Obtém o Conteúdo no Formato Binário *****

    ConteudoBinario = Request.BinaryRead(Tamanho)

 

    '***** Transforma o Conteúdo Binário em String *****

    For Contador = 1 To Tamanho

  ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))

    Next

    '***** Determina o Delimitador de Campos *****

    Delimitador = Left(ConteudoTexto,InStr(ConteudoTexto, vbCrLf)-1)

 

    '***** Percore a String Procurando os Campos  *****

    '***** Identifica os Arquivos e Grava no Disco *****

    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

   

    Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitador)

    Do While True

  ArquivoNome = ""

  Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=")

  If Posicao1 = 0 Then

  Exit Do

  Else

  '***** Determina o Nome do Arquivo *****

  Posicao1 = Posicao1 + 10

  Posicao2 = InStr(Posicao1, ConteudoTexto, """")

  For Contador = Posicao2-1 To Posicao1 Step -1

    If Mid(ConteudoTexto, Contador, 1) <> "\" Then

    ArquivoNome = Mid(ConteudoTexto, Contador, 1) & ArquivoNome

    Else

    Exit For

    End If

  Next

 

  '***** Determina o Conteúdo do Arquivo *****

  Posicao1 = InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4

  Posicao2 = InStr(Posicao1, ConteudoTexto, Delimitador) - 2

  ArquivoConteudo = Mid(ConteudoTexto, Posicao1, Posicao2-Posicao1+1)

 

  '***** Grava o Arquivo *****

  If ArquivoNome <> "" Then

    Set objArquivo = objFSO.CreateTextFile(PastaDestino & ArquivoNome, True)

    objArquivo.WriteLine ArquivoConteudo   

    objArquivo.Close

    Response.Write "Arquivo " & PastaDestino & ArquivoNome & " gravado com sucesso!!!<BR>"

    Set objArquivo = Nothing

  End If

  End If

    Loop

    Set objFSO = Nothing

%>

<script>window.location="cad_prod_seminovos.asp?pagina=<%=Request.QueryString("pagina")%>"</script>

Qual será o erro, podem me ajudar?

Grato, William

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, para ficar mais fácil e você ver o erro exato (ao invés da mensagem de erro interno), faça o seguinte:-Abra o Internet Explorer-Vá no menu Ferramentas-Clique em Opções da Internet-Vá até a guia Avançado-Desmarque na lista a opção "Mostrar mensagens de erro HTTP amigáveis"E poste aqui a mensagem de erro que será exibida (que vai ser diferente agora).

Compartilhar este post


Link para o post
Compartilhar em outros sites

apos isso veifique se voce tem permissão de gravação....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isso Juliano, que diferença heim!!! Legal ele agora mostra o erro de maneira mais transparente.

O erro que deu agora é este:

Microsoft VBScript runtime error '800a004c'

 

Path not found

 

/superinfo/admin/upload_novo.asp, line 52

A linha a qual se refere se não errei é essa:

Set objArquivo = objFSO.CreateTextFile(PastaDestino & ArquivoNome, True)

Qual será o erro? se puder me explicar tb, gostaria de saber pq em minha máquina ele funciona, e no provedor da esse erro.

 

Grato meus amigos,

 

William (aprendiz de ASP)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi,o problema está na pasta destino (d:\hshome\loja\Superinfo\imagem\Fotos), esta é uma pasta no teu disco, por isso quando tentas correr no servidor ele não a encontra e dá esse erro que falas. A pasta destino tem de ser algo assim: pastadestino=seuservidor.com/pastafotos ou então um caminho relativo:pastadestino=/pastafotos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi,

o problema está na pasta destino (d:\hshome\loja\Superinfo\imagem\Fotos), esta é uma pasta no teu disco, por isso quando tentas correr no servidor ele não a encontra e dá esse erro que falas. A pasta destino tem de ser algo assim: pastadestino=seuservidor.com/pastafotos

ou então um caminho relativo:

pastadestino=/pastafotos

Não entendi direito naoliveira, como uma pasta do meu disco, o provedor é que passou o path " d:\hshome\...." inclusive é um path para os bd que uso tb e funciona. Quando testo em minha máquina uso este path C:\Inetpub\wwwroot\loja\Superinfo\imagem\Fotos

 

A pasta destino tem de ser algo assim: pastadestino=seuservidor.com/pastafotos

você quer dizer que tenho que colocar o nome de meu servidor no caso "bighost.com.br/pastafotos" ou meu "dominio.com.br/pastasfotos"?

 

Já estamos case resolvendo com ajuda de vcs ...

 

grato + 1vz

William

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar assimPastaDestino = server.MapPath("../imagem/Fotos")

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.