Pessoal estou com muita dificuldade, fiz um formulario bem simples onde o usuario preenche apenas o nome, e quando ele envia, abre um tela pra ele dar upload em 3 imagens ( usando smartupload) , mas não estou conseguindo fazer funcionar :( eu acho q o problema está no upload, mais precisamente na ultima linha:
conexao.execute("update usuarios set imagem1='"& session("upload_nome_1") & "', imagem1='"& session("upload_nome_2") & "', imagem1='"& session("upload_nome_3") & "' where ID="&session(“id”))
<!--#include file="conectar.asp"-->
<%
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
'seta as opções de upload !
'Como o exemplo é um cadastro de usuário com foto, permitirei a entrada de arquivos com extensão jpg,gif,jpeg e png
objUpload.AllowedFilesList = "jpg,gif,jpeg,png"
'Nessa linha limito o upload de cada arquivo a 500kb
objUpload.MaxFileSize = 500000
'Upload é feito a seguir para o servidor
objUpload.Upload
'Recuperacao do campo nome!VERIFIQUE QUE: o request.form foi substituído por objUpload.Form
if err.number = -2147220399 or err.number = -2147220494 then 'Estes números de erros correspondem respectivamente á Tamanho de arquivo maior que permitido e extensão diferente da permitida.Caso isso aconteça é exibido uma mensagem
response.write("Erro!!Tamanho ou extensão diferente do permitido ")
else 'caso tamanho e extensão dos arquivos estiverem corretos...
'Atribui a letra i valor de 0
i=0
'Vamos fazer um loop para recuperar e gravar os arquivos
For Each File In objUpload.Files
'recupera “i” e atribui a ele +1
i=i + 1
'este if verifica se os campos de upload não estão vazios
If Not File.IsMissing Then
'Aqui são renomeadas as imagens.Arquivo é o ID(recuperado pela session)”_” +valor do i+ a extensão.Ficara assim por exemplo:12_1.gif ,12_2.gif , 12_3.gif(correspondendo ao ID 12 e os três campos de imagens selecionados)
arquivo=recupera_bd("instituicao_id")&"_"&i&"."&File.FileExt
'salva os arquivos com o nome escolhemos acima no diretório ../pasta_para_gravar/
'Lembrando que a pasta deve ter permissão para gravação!
File.Saveas(Server.MapPath("/fotos/"&arquivo))
'Cria sessões baseadas no loop com valores de upload_nome_ 1 a 3
session("upload_nome_"&i)=arquivo
End If
Next
'Agora vamos gravar o nome das imagens no banco de dados!
conexao.execute("update usuarios set imagem1='"& session("upload_nome_1") & "', imagem1='"& session("upload_nome_2") & "', imagem1='"& session("upload_nome_3") & "' where ID="&session("id"))
%>
valeu ae!!! se alguém puder dar uma ajuda agradeço muito!!!
Pergunta
Gustavo Moraes
Pessoal estou com muita dificuldade, fiz um formulario bem simples onde o usuario preenche apenas o nome, e quando ele envia, abre um tela pra ele dar upload em 3 imagens ( usando smartupload) , mas não estou conseguindo fazer funcionar :( eu acho q o problema está no upload, mais precisamente na ultima linha:
conexao.execute("update usuarios set imagem1='"& session("upload_nome_1") & "', imagem1='"& session("upload_nome_2") & "', imagem1='"& session("upload_nome_3") & "' where ID="&session(“id”))
Vou postar aqui os 3 arquivos q estou usando nesse processo.
No meu banco de dados, eu tenho a tabela cadastro, e os campos ID , user, nome, imagem1, imagem2, imagem3
Enviar.asp:
<!--#include file="restrito.asp"--> <!--#include file="conectar.asp"--> <% Dim data, dia, mes, ano dia = Day(now()) mes = Month(now()) ano = Year(now()) data = dia & "/" & mes & "/" & ano %> <html> <head> <title>teste</title> <link rel="stylesheet" type="text/css" href="estilo.css"> <script src="funcoes.js"></script> </head> <body> <!--#include file="topo.inc"--> <br /><br /> <form action="enviar2.asp" method="post" name="form"> <input type="hidden" value="sim" name="enviado"> <input type="hidden" value="<%=Session("login")%>" name="user"> <input type="hidden" value="<%=data%>" name="data"> <input type="hidden" value="<%=Session("email")%>" name="email"> <table width="100%" cellpadding="3" cellspacing="0" bgcolor="#ECECEC"> <tr> <td bgcolor="#eeeeee" width="23%"><font size=2><b>Nome:</b></font></td> <td bgcolor="#eeeeee" width="77%"><font size=2><input type=text name="nome" value="" size="70" maxlength="100"></font></td> </tr> </table> <table bgcolor="#eeeeee" align="center" width="100%"> <tr> <td align="center"> <input type="submit" value="=-Postar-="> <input type="reset" value="=-Apagar-="> </td> </tr> </table> </form> </body> </html>Enviar2.asp<!--#include file="restrito.asp"--> <!--#include file="conectar.asp"--> <% Abrecla SQL = "SELECT * FROM cadastro ORDER BY id DESC" Set rs = Conexao.Execute(SQL) noticia1 = rs("id") noticia2 = noticia1 + 1 noticia = replace(request.form("noticia"), "'", "''") noticiad = replace(noticia, chr(13), "<br>") Sql = "INSERT INTO cadastro (user, nome) " Sql = Sql & "VALUES('" & Request.Form("user") & "','" Sql = Sql & Request.Form("nome") & "')" Conexao.Execute(Sql) %> <% Fechacla %> <html> <body> <form name="form" method="post" action="gravar.asp" enctype="multipart/form-data"> <input type="file" id="arquivo1" name="arquivo1"> <br> <input type="file" id="arquivo2" name="arquivo2"> <br> <input type="file" id="arquivo3" name="arquivo3"> <br> <input type="submit" name="botao" id="botao" value="Cadastrar "> </form> </body> <HTML>E finalmente o gravar.asp que utiliza smartupload<!--#include file="conectar.asp"--> <% Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload") 'seta as opções de upload ! 'Como o exemplo é um cadastro de usuário com foto, permitirei a entrada de arquivos com extensão jpg,gif,jpeg e png objUpload.AllowedFilesList = "jpg,gif,jpeg,png" 'Nessa linha limito o upload de cada arquivo a 500kb objUpload.MaxFileSize = 500000 'Upload é feito a seguir para o servidor objUpload.Upload 'Recuperacao do campo nome!VERIFIQUE QUE: o request.form foi substituído por objUpload.Form if err.number = -2147220399 or err.number = -2147220494 then 'Estes números de erros correspondem respectivamente á Tamanho de arquivo maior que permitido e extensão diferente da permitida.Caso isso aconteça é exibido uma mensagem response.write("Erro!!Tamanho ou extensão diferente do permitido ") else 'caso tamanho e extensão dos arquivos estiverem corretos... 'Atribui a letra i valor de 0 i=0 'Vamos fazer um loop para recuperar e gravar os arquivos For Each File In objUpload.Files 'recupera “i” e atribui a ele +1 i=i + 1 'este if verifica se os campos de upload não estão vazios If Not File.IsMissing Then 'Aqui são renomeadas as imagens.Arquivo é o ID(recuperado pela session)”_” +valor do i+ a extensão.Ficara assim por exemplo:12_1.gif ,12_2.gif , 12_3.gif(correspondendo ao ID 12 e os três campos de imagens selecionados) arquivo=recupera_bd("instituicao_id")&"_"&i&"."&File.FileExt 'salva os arquivos com o nome escolhemos acima no diretório ../pasta_para_gravar/ 'Lembrando que a pasta deve ter permissão para gravação! File.Saveas(Server.MapPath("/fotos/"&arquivo)) 'Cria sessões baseadas no loop com valores de upload_nome_ 1 a 3 session("upload_nome_"&i)=arquivo End If Next 'Agora vamos gravar o nome das imagens no banco de dados! conexao.execute("update usuarios set imagem1='"& session("upload_nome_1") & "', imagem1='"& session("upload_nome_2") & "', imagem1='"& session("upload_nome_3") & "' where ID="&session("id")) %>valeu ae!!! se alguém puder dar uma ajuda agradeço muito!!!
Editado por Gustavo MoraesLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.