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

Upload Gravando duplicadamente


claytonprog

Pergunta

Pessoal! Estou com o seguinte problema:

Tenho uma tabela com os seguintes campos:

ProductName

Autor

ProductDescription

ProductFile

imagem

Tenho um form que digito o nome de um livro, o autor, descrição, e faço o uploas de doisa arquivos, sendo que um tem quer imagem e outro zipado.

Meu Form tá assim:

<form action="upload.asp" method="post" enctype="multipart/form-data">
        
        
<td>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
    <tr>
        <td width="121">
        <p align="right"><b>
                        <font size="2" face="Verdana">Título:</font></b></td>
        <td>
                        <font face="Verdana">
        <input type="text" name="titulo" size="52" ></font></td>
    </tr>
    <tr>
        <td width="121">
        <p align="right"><b>
                        <font size="2" face="Verdana">Autor:&nbsp;&nbsp; </font></b></td>
        <td>
                        <font face="Verdana">
        <input type="text" name="autor" size="32" ></font></td>
    </tr>
    <tr>
        <td width="121">
        <p align="right"><b>
                        <font size="2" face="Verdana">Descrição:</font></b></td>
        <td>
                        <textarea name="descricao" cols="49" rows="8"></textarea></td>
    </tr>
    <tr>
        <td width="121" height="28">
        <p align="right"><b>
                        <font size="2" color="#800000" face="Verdana">Imagem:</font></b></td>
        <td height="28">
                        <input name="arquivo1" type="file" class="style10" size="26" /></td>
    </tr>
    <tr>
        <td width="121">
        &nbsp;</td>
        <td>
                        <font face="Verdana" size="2" color="#FF0000"><br>Obs: Só é permitido arquivos 
com extensões </font><font face="Verdana" size="2">.jpg</font><font face="Verdana" size="2" color="#FF0000"> 
ou .</font><font face="Verdana" size="2">gif <font color="#FF0000">e o tamanho 
                        máximo do arquivo não deve ultrapassar </font>1.8 MB.</font></td>
    </tr>
    <tr>
        <td width="121">
        &nbsp;</td>
        <td>
                        &nbsp;</td>
    </tr>
    <tr>
        <td width="121">
        <b><font face="Verdana" size="2" color="#800000">Anexar arquivo:</font></b></td>
        <td>
                        <input name="arquivo" type="file" class="style10" size="26" /></td>
    </tr>
    <tr>
        <td width="121">
        <p align="right"><b><font face="Verdana" size="2" color="#800000">&nbsp;</font></b></td>
        <td>
                        <font face="Verdana" size="2" color="#FF0000"><br>Obs: Só é permitido arquivos 
com extensões </font><font face="Verdana" size="2">.zip, .rar</font><font face="Verdana" size="2" color="#FF0000">, </font>
                        <font face="Verdana" size="2"> 
                        doc</font><font face="Verdana" size="2" color="#FF0000"> 
ou .</font><font face="Verdana" size="2">pdf <font color="#FF0000">e o tamanho 
máximo do arquivo não deve ultrapassar </font>1.8 MB.</font></td>
    </tr>
</table>
<p><input type="submit" name="enviar" value="Enviar" /></p>
<p>&nbsp;<th width="5" align="left" valign="middle" scope="col">&nbsp;</th>
Arquivo upload.asp
<%
Option Explicit
Response.Expires = 0
Dim objConn, objRs, strQuery, sql, verifica
Dim mySmartUpload, intCount, File, titulo, autor, descricao, arquivo, arquivo1

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("db/downloads.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

On error Resume Next

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.AllowedFilesList = "doc,pdf,zip,rar,jpg,gif"
mySmartUpload.DeniedFilesList = "exe,bat,cab,swf,asp,aspx,htm,html,png"
mySmartUpload.MaxFileSize = 350000
mySmartUpload.Upload


        
For Each File in mySmartUpload.Files

titulo=mySmartUpload.Form("titulo")
autor=mySmartUpload.Form("autor")
descricao=mySmartUpload.Form("descricao")


 arquivo = File.FileName ' Nome do arquivo 
 arquivo1 = File.Filename   ' Nome da imagem 


Next



If Err.number <> 0 Then

Response.Write("<p><br><font face=""Verdana"" size=""2""><br><br>Um dos seguintes erros aconteceu: você tentou enviar um arquivo cuja terminação não é .doc e nem .pdf A operação foi cancelada. Por favor tente de novo. ")
response.write "<font face=""Verdana"" size=""2""><br><br><br>Você será redirecionado em 3 segundos..<br></font>"
response.write "<meta http-equiv='refresh' content='3; url=enviar_ebooks.asp'/>"

response.end

end if

         

    strQuery = "INSERT INTO tblProducts (ProductName,Autor, ProductDescription,ProductFile, imagem) VALUES ('"&titulo&"', '"&autor&"', '"&descricao&"', '"&arquivo&"','"&arquivo1&"')"
    objRs = ObjConn.Execute(strQuery)
    intCount = mySmartUpload.Save("downloads")
                


objConn.close
Set verifica = Nothing
Set objConn = Nothing
Set ObjRs = Nothing


     
      response.write "<font face=""Verdana"" size=""2""><br><br><br>arquivo enviado com sucesso<br></font>"
      response.write "<font face=""Verdana"" size=""2""><br><br><br>Você será redirecionado em 5 segundos..<br></font>"
      response.write "<meta http-equiv='refresh' content='5; url=enviar_ebooks.asp'/>"
          


%>

O envio dos arquuvos para o servidor está OK! Problema é que na hora de gravar no banco ele está gravando o mesmo nome nas tabela.

Deveria ficar assim:

Titulo - Autor - Descrição - Arquivo - Imagem

livro - Clayton - Livro que escrevi - livro.zip - livro.jpg

Está gravando assim:

Titulo - Autor - Descrição - Arquivo - Imagem

livro - Clayton - Livro que escrevi - livro.zip - livro.zip

Por Favor alguém se souber me ajude ai a corrigir esta falha.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bote o insert dentro do loop e veja o que acontece...

outra coisa que notei é que seria aconselhavel você recusar uma série de outros tipos de arquivos como ex: com, js, php, swf, e mais outros tantos...

mySmartUpload.DeniedFilesList = "exe,bat,cab,swf,asp,aspx,htm,html,png"

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo Rafael! Coloque o insert dentro do loop e nada. Continua repetindo o mesmo nome nos dois campos.

Deveria ficar assim:

Titulo - Autor - Descrição - Arquivo - Imagem

livro - Clayton - Livro que escrevi - livro.zip - livro.jpg

Está gravando assim:

Titulo - Autor - Descrição - Arquivo - Imagem

livro - Clayton - Livro que escrevi - livro.zip - livro.zip

Ficou assim meu código:

<%
Option Explicit
Response.Expires = 0
Dim objConn, objRs, strQuery, sql, verifica
Dim mySmartUpload, intCount, File, titulo, autor, descricao, arquivo, arquivo1

Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=" & Server.MapPath("db/downloads.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

On error Resume Next

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.AllowedFilesList = "doc,pdf,zip,rar,jpg,gif"
mySmartUpload.DeniedFilesList = "exe,bat,cab,swf,asp,aspx,htm,html,png"
mySmartUpload.MaxFileSize = 350000
mySmartUpload.Upload


        
For Each File in mySmartUpload.Files

titulo=mySmartUpload.Form("titulo")
autor=mySmartUpload.Form("autor")
descricao=mySmartUpload.Form("descricao")


 arquivo = File.FileName ' Nome do arquivo 
 arquivo1 = File.Filename   ' Nome da imagem 

  strQuery = "INSERT INTO tblProducts (ProductName,Autor, ProductDescription,ProductFile, imagem) VALUES ('"&titulo&"', '"&autor&"', '"&descricao&"', '"&arquivo&"','"&arquivo1&"')"
  objRs = ObjConn.Execute(strQuery)
  intCount = mySmartUpload.Save("downloads")


Next



If Err.number <> 0 Then

Response.Write("<p><br><font face=""Verdana"" size=""2""><br><br>Um dos seguintes erros aconteceu: você tentou enviar um arquivo cuja terminação não é .doc e nem .pdf A operação foi cancelada. Por favor tente de novo. ")
response.write "<font face=""Verdana"" size=""2""><br><br><br>Você será redirecionado em 3 segundos..<br></font>"
response.write "<meta http-equiv='refresh' content='3; url=enviar_ebooks.asp'/>"

response.end

end if

         

   
                


objConn.close
Set verifica = Nothing
Set objConn = Nothing
Set ObjRs = Nothing


     
      response.write "<font face=""Verdana"" size=""2""><br><br><br>arquivo enviado com sucesso<br></font>"
      response.write "<font face=""Verdana"" size=""2""><br><br><br>Você será redirecionado em 5 segundos..<br></font>"
      response.write "<meta http-equiv='refresh' content='5; url=enviar_ebooks.asp'/>"
          


%>

Link para o comentário
Compartilhar em outros sites

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,2k
    • Posts
      651,9k
×
×
  • Criar Novo...