Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Com Upload


Gustavo Moraes

Pergunta

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 Moraes
Link 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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...