Ir para conteúdo

POWERED BY:

Arquivado

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

renata_nunes

[Resolvido] erro no upload sem componente

Recommended Posts

tô com probleminha, no script está dando o seguinte erro:

Erro de tempo de execução do Microsoft VBScript (0x800A004C)

Caminho não encontrado

 

e a linha que ele indica é essa:

Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)

 

vou postar o código todo para ficar melhor a vizualização e peguei aki mesmo no fórum...só que não estou conseguinda adaptá-lo a minha realidade.

CODE
<!-- #include file = "upload_funcoes.asp" -->

<%

' Chamando Funções, que fazem o Upload funcionar

byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)

Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

 

' Recuperando os Dados Digitados ----------------------

nome = UploadRequest.Item("nome").Item("Value")

codNoticia = UploadRequest.Item("codNoticia").Item("Value")

legenda = UploadRequest.Item("legenda").Item("Value")

tipo = UploadRequest.Item("tipo").Item("Value")

 

' Tipo de arquivo que esta sendo enviado

tipo_foto = UploadRequest.Item("foto").Item("ContentType")

 

' Caminho completo dos arquivos enviados

caminho_foto = UploadRequest.Item("foto").Item("FileName")

 

' Nome dos arquivos enviados

nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

 

' Conteudo binario dos arquivos enviados

foto = UploadRequest.Item("foto").Item("Value")

 

' pasta onde as imagens serao guardadas

pasta = "../imagem/"&tipo

nome_foto = "/"&nome_foto

 

' pasta + nome dos arquivos

 

 

' Fazendo o Upload do arquivo selecionado

if foto <> "" then

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

Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)

For i = 1 to LenB(foto)

MyFile.Write chr(AscB(MidB(foto,i,1)))

Next

MyFile.Close

end if

 

' Conecta-se ao Banco de Dados

<!--#include file="globalLocal.asp"-->

 

set conn = obtain_connection()

set rs = Server.CreateObject("ADODB.Recordset")

 

' cadastra os dados no banco de dados

sql = "Insert into fotos (nome,legenda,codNoticia) values ('"& nome &"', '"& legenda &"', '"& codNoticia &"')"

Conexao.Execute(sql)

conn.BeginTrans()

set rs = conn.execute(sql)

 

if Err.number = 0 then

conn.CommitTrans

set rs = nothing

release_Connection(conn)

Response.Redirect("principal.asp?msg=ok")

else

conn.RollbackTrans

set rs = nothing

release_Connection(conn)

Response.Write("principal.asp?msg=erro")

end if

%>

 

OBs.: eu recebo do form o nome, legenda e o tipo da foto... sendo que o conteúdo do campo "tipo" conterá o nome da pasta que será salva , explicando dentro da pasta imagem terá duas subpastas, e o "tipo" dirá em qual das duas subpastas será gravado o arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo nome eu suspeito que o caminho onde você está tntnado salvar os arquivos está errado

 

faça isso

 

response.write pasta & nome_foto

response.end

Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)

 

verifique se o caminho devolvido está certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu acho que estou entendendo muita a lógica disso... por exemplo, pasta e nome_foto é exatamente local onde será gravado a foto e o nome _foto é o nome com que ele vai ser gravado? se for isso, para renomear eu teria que concatená com .jpg? estou muio confusa... se puderem me explicar..

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta variavel está errada

 

pasta = "../imagem/"&tipo

 

coloque o caminho completo tipo

 

pasta = "c:\inetpub\wwwroot\teste\imagem"&tipo

 

obs: só não lembro se a barra tem que ser \ ou /

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro de caminho inválido acabou.. mas me tira a dúvida, qdo eu publicar esse site terei que mudar isso, como ficaria? se a pasta imagem está a um nível acima? vlw

 

funcionou!!!! obrigada mesmo... só falta agora renomeá-lo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque o caminho do servidor. na pasta onde ficará as imagens crie um arquivo asp(caminho.asp) e coloque

<%

response.write server.mappath(".")

%>

ai voce vai no browser e digitaq

 

www.dominio.com.br/pastadasimagens/caminho.asp

 

vai aparecer na tela o diretorio fisico e você coloca ele na variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure no forum e no google por fso. ele faz a exclusão de arquivos e a manipulação deles

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.