Ir para conteúdo

POWERED BY:

Arquivado

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

Reinaldo

Upload

Recommended Posts

Olá amigos, o codigo abaixo faz o upload beleza, só estou com problemas na hora de gravar no Banco Mysql, funcionava normal não sei porque não está mais funcionando.

 

<%
' Baseado no exemplo da propria ASPAlliance
' Continuar se ocorrer algum erro
' Este script supoe que existe um diretorio upload dentro da pasta dados
On Error Resume Next

Dim sCaminho
sCaminho = "e:\home\clpalcosetol\Web\site\imagem\fotos"
'sCaminho ="C:\Inetpub\wwwroot\servidor\pasta\fotos"

' Criar instancia do Objeto
Set objUpload = Server.CreateObject("Dundas.Upload.2")

' Gravar arquivo no diretorio dados do proprio site
' Tambem sera gravado em memoria utilizando o metodo SaveToMemory
'
' Tamanho maximo de arquivo de 1MB
objUpload.MaxFileSize=1048576
objUpload.UseUniqueNames=FALSE
objUpload.Save sCaminho

' Verificar se ocorreu algum erro durante a chamada.
' Se ocorrer, redirecionar para uma pagina de Erro ficticia
If Err.Number <> 0 Then
Response.Redirect "Erro_dundasupload.asp"
Else
' Criar um loop para verificar os arquivos carregados
' Se for executavel, apagar do disco
' Mostrar uma caixa de diálogo com nome dos arquivos
For Each objUploadedFile in objUpload.Files

Response.Write "campo "" & objUploadedFile.TagName & "" do Formulario - Caminho : " & objUploadedFile.Path & " - Tamanho : " & CStr(objUploadedFile.Size) & " bytes<br>"
If InStr(1,objUploadedFile.ContentType,"octet-stream") Then
Response.Write " MAS O Arquivo foi REMOVIDO por ser um tipo proibido"
objUploadedFile.Delete

End If


Next


 'Mostrar o nome de cada um dos elementos do formulário
For Each objFormItem In objUpload.Form.Count
 Response.Write "<br>Item passado no formulário e´: " & objFormItem.Value
 Response.Write "<br> Valor do ítem do formulário e´: " & objFormItem.Value & "<br>"
Next

'Response.Write "Chegou ao final do script"

End If

for each objUploadedFile in objUpload.files

varfoto = objUpload.GetFileName(objUploadedFile.Path )

varID=objUpload.form("IDCategoria")

comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
set rs=cnnDB.execute(comando)
next

' Remover o objeto
Set objUpload = Nothing

response.Write"<script>alert('Cadastro Efetuado com sucesso!!');</script>"
response.Write("<script>top.location='FormUpload.asp'</script>")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Ted k',

Meu caro conterraneo, fiz como indicou e continua com problemas horas grava normal no Banco horas não grava nada, porem faz o upload na boa.

 

Mais uma vez grato pela ajuda.

 

retire o "On Error Resume Next" para ver se gera erros

Compartilhar este post


Link para o post
Compartilhar em outros sites

gera algum, erro !!

você disse que algumas vezes grava outras não !

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque essa parte aqui:

 

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path )
varID=objUpload.form("IDCategoria")
comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
set rs=cnnDB.execute(comando)
next

por essa:

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path)
varID=objUpload.form("IDCategoria")
next

comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
cnnDB.execute(comando)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite!

Olá Ted k", fiz como você indicou e agora está dando esse erro:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[MySQL][ODBC 3.51 Driver][mysqld-5.1.28-rc-enterprise-gpl-log]MySQL server has gone away

 

/gerenciamento/Uploadfotos.asp, line 56

 

 

linha 56=Set rs=conexao.execute(comando)

 

obs: tenho 5 campos files será que isso está de alguma forma impossibilitando de gravar no banco?

 

 

 

troque essa parte aqui:

 

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path )
varID=objUpload.form("IDCategoria")
comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
set rs=cnnDB.execute(comando)
next

por essa:

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path)
varID=objUpload.form("IDCategoria")
next

comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
cnnDB.execute(comando)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está testando local ou já no servidor do site?

 

Se estiver no servidor, faça o teste local e veja se o erro permanecerá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é... isso está parecendo problema de conexão, provavelmente gerado pelo servidor.

 

Talvez fosse interessante você testar isso em outro servidor Web, uma vez que local está funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Levando em consideração que tenho 5 campos file seria dessa forma mesmo a mais correta?

 

Boa noite!

Olá Ted k", fiz como você indicou e agora está dando esse erro:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

 

[MySQL][ODBC 3.51 Driver][mysqld-5.1.28-rc-enterprise-gpl-log]MySQL server has gone away

 

/gerenciamento/Uploadfotos.asp, line 56

 

 

linha 56=Set rs=conexao.execute(comando)

 

obs: tenho 5 campos files será que isso está de alguma forma impossibilitando de gravar no banco?

 

 

 

troque essa parte aqui:

 

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path )
varID=objUpload.form("IDCategoria")
comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
set rs=cnnDB.execute(comando)
next

por essa:

for each objUploadedFile in objUpload.files
varfoto = objUpload.GetFileName(objUploadedFile.Path)
varID=objUpload.form("IDCategoria")
next

comando="INSERT INTO tab_fotos(IDProd,foto)VALUES("&varID&",'"&varfoto&"')"
cnnDB.execute(comando)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o objetivo é gravar os valores em um banco de dados, é melhor você executar a gravação dentro do FOR.

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.