none
Fazer update em imagem! RRS feed

  • Pergunta

  • Olá galera to com uma duvida..

    Como que eu faço um update em imagem..e o seguinte eu tenho um formulario onde o cliente tem a opção de trocar a imagem quando click procurar....

    Como que eu faço isso..

     

    Ai vai meu codigo!!

     

    <html>
    <head>
    <title>Cadastro </title>
    <script language="javascript">
    function valida_campo()
    {
    <!--
    var nome = document.form.nome.value
    if (nome==""){
     alert("Informe o seu nome!");
     document.form.nome.focus()
     return false
     }
    var telefone = document.form.telefone.value
    if (telefone==""){
     alert("Informe o seu telefone!");
     document.form.telefone.focus()
     return false
     }
    var email=document.form.email.value;
    if (email==""){
     alert("Informe o seu email!")
     document.form.email.focus()
    return false
     }
    }
    function confere(){
    if (document.form.email.value.indexOf('@', 0) == -1 || document.form.email.value.indexOf('.', 0) == -1){ alert("E-mail invalido!");
     document.form.email.focus()
     }
    }
    //-->
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
    <LINK REL=stylesheet HREF="liks_etc.css" TYPE="text/css">
    <head>

    <%
    On error resume Next
    Dim objConn, stringSQL, strConnection, id, strDBPath
    id = Request.QueryString("radio")
    ' Conectando com o banco de dados contato.mdb
    Set objConn =  Server.CreateObject("ADODB.Connection")
    Set objRS =  Server.CreateObject("ADODB.Connection")
    'objConn.Open "DBQ=" & Server.MapPath("contato.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
    strDBPath = Server.MapPath("contato.mdb")
    objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
    stringSQL = "SELECT * FROM contato WHERE autonum = "&id
    Set objRS = objConn.Execute(stringSQL)
    'Deletando registro da tabela contato onde esta a id
    if err <> 0 Then%>
     
    <div align="center"><b>
      <font size="2" color="#FF0000" face="Verdana, Arial, Helvetica, sans-serif">Ocorreu
      algum erro!</font><font face="Verdana, Arial, Helvetica, sans-serif"><font size="2"><br>
      </font>
      <a href="BLOCKED SCRIPThistory.back(-1)">Volta</a></font></b><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="BLOCKED SCRIPThistory.back(-1)"></a></font></div>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>
          <%else%>
          <table width="39%" border="0" align="center" cellpadding="2" cellspacing="2">
            <tr align="center">
              <td width="19%" height="20" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="form_inclusao.asp" class="menu">
                <font color="#0000FF">Incluir</font></a></font></b></font></div></td>
              <td bgcolor="#f5f5f5" width="29%"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="form_exclui.asp" class="menu">
                <font color="#0000FF">Excluir</font></a></font></b></font></div></td>
              <td width="18%" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="procura.asp" class="menu">
                <font color="#0000FF">Pesquisar</font></a></font></b></font></div></td>
              <td bgcolor="#f5f5f5" width="52%"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="escolhe_pra_auterar.asp" class="menu">
                <font color="#0000FF">Volta</font></a></font></b></font></div></td>
            </tr>
          </table>
          <div align="center"></div>
          <form method="post" action="altera_dados.asp" name="form" onSubmit="return valida_campo()">
            <div align="center">
              <center>
                <table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td><table width="505
        " height="18" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>
                          <td width="413" height="1" align="center" bgcolor="#4169E1">
                            <b>
                            <font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFF00">
                            <span style="background-color: #4169E1">&nbsp;Cadastro&nbsp; On - Line</span></font></b></td>
                        </tr>
                      </table></td>
                  </tr>
                </table>
                <table border="0" width="589" bgcolor="F5F5F5">
                  <tr>
                    <td bgcolor="#FFFFE6"><font size="2" face="Verdana" color="0000cc">Foto/URL:</font></td>
                    <td bgcolor="#FFFFE6">
               <!-- <input name="foto" type="text" id="foto" style="font-family: Verdana; font-size: 8 pt;COLOR: 0000CC;" value="<'%=objRS("foto")%>" size="54"> -->
               <input type="file" name="arquivo[]" style="font-family: Verdana; font-size: 8 pt;COLOR: 0000CC;" size="30" ></td>
                  </tr>
                  <tr>
                    <td width="89" bgcolor="#FFFFE6"><font size="2" face="Verdana" color="0000cc">Nome:</font></td>
                    <td width="490" bgcolor="#FFFFE6">
                    <input type="text" name="nome" size="34" style="font-family: Verdana; font-size: 8 pt;COLOR: 0000CC;" value='<%=objRS("nome")%>'">                </td>
                  </tr>
                  <tr>
                    <td width="89" bgcolor="#FFFFE6"><font size="2" face="Verdana" color="0000cc">E-mail:</font></td>
                    <td width="490" bgcolor="#FFFFE6">
                    <input type="text" name="email" size="49" style="font-family: Verdana; font-size: 8 pt; COLOR: 0000CC;" value="<%=objRS("email")%>" onBlur="confere()">                </td>
                  </tr>
                  <tr>
                    <td width="89" bgcolor="#FFFFE6"><font size="2" face="Verdana" color="0000cc">Telefone:</font></td>
                    <td width="490" bgcolor="#FFFFE6">
                    <input type="text" name="telefone" size="23" style="font-family: Verdana; font-size: 8 pt;COLOR: 0000CC;" value="<%=objRS("telefone")%>">                </td>
                  </tr>
                  <tr>
                    <td width="89" bgcolor="#FFFFE6"><font size="2" face="Verdana" color="0000cc">Comentário:</font></td>
                    <td width="490" bgcolor="#FFFFE6">
                    <textarea rows="4" name="comentario" cols="46" style="font-family: Verdana; font-size: 8 pt;COLOR: 0000CC;"><%=objRS("comentario")%></textarea>
                      <input type="hidden" name="autonum" value="<%=objRS("autonum")%>">                </td>
                  </tr>
                  <tr bgcolor="#FFFFE6">
                    <td colspan="2"> <p align="center">
                        <input type="submit" value="Alterar" name="enviar">
                    </td>
                  </tr>
                </table>
              </center>
            </div>
          </form>
          <%end if%>
        </td>
      </tr>
    </table>
    </body>
    </html>

     

     

    abraço.

     

    Emerson Sobral

    terça-feira, 10 de junho de 2008 14:45

Todas as Respostas

  • Ei moco blz.

    Olha tem várias formas de fazer, se eu tiver entendido bem ne...

    Eu faco desse jeito acho que é o mais simples.

    <%
        Dim nmArquivo
        Dim objFile
       
        nmArquivo = "NovoNome.jpg" //faça dinamico eu fiz fixo pq é um exemplo
        if not IsEmpty(Request.Form("foto")) then

            set objFile = Server.CreateObject("Scripting.FileSystemObject")
            Call objFile.CopyFile(Request.Form("foto"),nmArquivo,True)
        end if
    %>
    <html>
        <head>
            <title>Teste de copia</title>
        </head>
        <body>
            <form action="self.asp" method="post" name="meuFormulario">
                <input type="file" value="" name="foto" />
                <input type="submit" value="Salvar Foto" />
            </form>
        </body>
    </html>

    peguei um código meu que funciona usando esse recurso e dei uma simplificada no processo, acredito que funcione, tenta ai e ve se é mais ou menos isso que vc deseja mesmo.

    pergunta vc vai querer gravar isso em BD? ou basta salvar o caminho no banco? ou nem vai ter banco na jogada? vendo seu código eu não sei tudo que vc quer fazer, mas espero ter ajudado em alguma coisa!! =D

    Ae ja ia esquecendo o parametro booleano do CopyFile define se é ou nao para sobrescrever o arquivo na ora de copiar assim quando for editar seu registro ele atualizaria a foto no sitema desde que vc mandasse sobrescrever a foto antiga.

    Qualquer coisa tamu aqui!
    terça-feira, 1 de julho de 2008 12:10
  • Kra vou gravar isso no banco de dados vc pode me ajudar?

     

     

    Grato..

     

    Onde eu coloco este codigo na minha pagina?

     

    Abraço..

     

     

    Emerson Sobral

    quinta-feira, 3 de julho de 2008 14:39
  • Cara, não sei qual vai ser a aplicabilidade final do seu sistema mas ai vai uma dica.

    . Caso seus sistema vá gravar imagens ou qualquer outro recurso visual é mais legal gravar somente o caminho do arquivo no banco de dados e salvar o arquivo no servidor com o código que lhe passei acima, isso pelo fato de banco de dados na web ser caro, e da mão de obra que dá manipular campos do tipo binario em banco de dados.

    Pra ser mais ilustrativo seria assim:
    Tipo uma página de administração de fotos de um site de festas rsrs.
    Você disponibiliza um formulário pro cara, onde ele coloca a descrição da foto, e atravez de um campo do tipo "file" aponta para o arquivo da foto, ok.
    Dado o submit na página, voce vai pegar este caminho e vai salvar normalmente em banco de dados.
    Depois você aplica o obj FileSystemObject para copiar a foto para o servidor do site.
    Quando você for carregar suas fotos, leia o caminho e as crie dinamicamente na página, pois elas irão existir no servidor.


    Não sei se deu pra intender.
    Caso você realmente precise salvar em banco me da idéia que eu tento bolar alguma coisa aqui para exemplificar, ia ser maneiro se você descrevesse direitinho o que você quer fazer na página.

    =D
    sexta-feira, 4 de julho de 2008 12:15
  • Não entendi..

     

    Pode me ajudar..

    Ai vai minha pag de procura.asp

    Da uma olhada no cod!

     

    <%

     Dim strURL    
        
     
     Dim cnnSearch
     Dim rstSearch 
     Dim strDBPath 
     
     Dim strSQL   
     Dim strSearch 
     inicio = Timer
     
     '#Função que tira todos os acentos das palavras
     function TiraAcento(StrAcento)
      for i = 1 to len(StrAcento)
       Letra = mid(StrAcento, i, 1)
       Select Case Letra
        Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
        Letra = "A"
        Case "é","É","ê","Ê","Ë","ë","È","è"
        Letra = "E"
        Case "í","Í","ï","Ï","Ì","ì"
        Letra = "I"
        Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
        Letra = "O"
        Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
        Letra = "U"
        Case "ç","Ç"
        Letra = "C"
        Case "ñ"
        Letra = "N"
       End Select
       texto = texto & Letra
      next
      TiraAcento = texto
     end function
     
     
     strURL = Request.ServerVariables("URL")
     
     strSearch = Request.QueryString("search")
     
     %><title>Cadastro em ASP com foto</title>
     <p>&nbsp;</p>
     <table width="69%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#F2FFF2">
       <tr>
      <td><table width="100%" border="0" cellspacing="2" cellpadding="2">
     <tr>
         <td bgcolor="#FFFFFF"><table width="44%" border="0" align="center" cellpadding="2" cellspacing="2">
     <tr align="center">
         <td bgcolor="#f5f5f5" width="35%"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font color="#CCCCCC"><a href="form_inclusao.asp">Incluir</a></font></font></b></font></div></td>
         <td bgcolor="#f5f5f5" width="30%"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="form_exclui.asp" class="menu">Excluir</a></font></b></font></div></td>
         <td width="18%" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font color="#999999" size="2" face="Verdana, Arial, Helvetica, sans-serif">Pesquisar</font></b></font></div></td>
         <td bgcolor="#f5f5f5" width="35%"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#CCCCCC"><a href="escolhe_pra_auterar.asp" class="menu">Alterar</a></font></b></font></div></td>
          </tr>
        </table>
        <p align="center"><FONT color=royalblue face=Tahoma><STRONG>
        <font color="#0000FF" size="2">
          Pesquisa de cadastro com foto (</font><i><font color="#0000FF" size="1">Informe
        um critério para pesquisa</font></i><font color="#0000FF" size="2">)</font></STRONG></FONT></p>
        <form action="<%= strURL %>" method="get">
          <div align="center">
         <input name="search" value="<%= strSearch %>" size="20" />
         <input name="submit" type="submit" value="Pesquisar" />
          </div>
        </form>
        <p align="center">
        
          <%
      
     If strSearch <> "" Then
     
       strDBPath = Server.MapPath("contato.mdb")
       
     Const adUseClient = 3
      
      Set cnnSearch = Server.CreateObject("ADODB.Connection")
      
     cnnSearch.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
     cnnSearch.CursorLocation = adUseClient
     
     strSQL = "SELECT nome, telefone, email, foto " _
       & "FROM contato " _
       & "WHERE telefone LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
       & "OR email LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
       & "ORDER BY nome;"
     
      Set rstSearch = cnnSearch.Execute(strSQL)
     intContador = rstSearch.RecordCount
      
      %>
      
        </p></td>
       </tr>
        </table>
        <p align="center"><br>
       <font face="Verdana, Arial, Helvetica, sans-serif" size="1">( Foram encontradas&nbsp;<b><%=intContador%></b>
        ocorrências )</font></p>
        <div align="center">
       <table width="500" border="0" cellpadding="4" cellspacing="1" bgcolor="#FFFFFF">
     <tr>
        <th width="123" bgcolor="#4169E1"><FONT color=royalblue face=Tahoma size=2><STRONG><font color="#FFFF00">Nome</font></STRONG></FONT></th>
        <th width="64" bgcolor="#4169E1"><FONT color=royalblue face=Tahoma size=2><STRONG><font color="#FFFF00"> Email</font></STRONG></FONT></th>
        <th width="114" bgcolor="#4169E1"><FONT color=royalblue face=Tahoma size=2><STRONG><font color="#FFFF00">Fone</font></STRONG></FONT></th>
        <th width="162" bgcolor="#4169E1"><FONT color=royalblue face=Tahoma size=2><STRONG><font color="#FFFF00">Foto</font></STRONG></FONT></th>
         </tr>
         <%
      Do While Not rstSearch.EOF
       %>
         <tr>
     x   
        <td bgcolor="#FFFFE6">
        <div align="left">
        <font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= rstSearch.Fields("Nome").Value %></font></div></td>
          <td bgcolor="#FFFFE6">
          <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= rstSearch.Fields("email").Value %></font></div></td>
        <td bgcolor="#FFFFE6">
          <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= rstSearch.Fields("telefone").Value %></font></div></td>
        <td bgcolor="#FFFFE6">
          <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><img src="<%=rstSearch("foto")%>" alt=""></font></div></td>
         </tr>
         <%
     
       rstSearch.MoveNext
      Loop
      %>
       </table>
       <b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><br>
       &nbsp;Sua busca foi processada em
       <%response.write FormatNumber( Timer - inicio, 2 )%>
       segundos.</font></b><br>
       <%
      
      rstSearch.Close
      Set rstSearch = Nothing
      cnnSearch.Close
      Set cnnSearch = Nothing
     End If
     
     %>
          </div></td>
      </tr>
    </table>

     

    Abraço..

     

    Emerson Sobral.

     

     

    sexta-feira, 4 de julho de 2008 13:47
  •  

    Aqui vai minha outra tela!

    escolhe_pra_auterar.asp

     

    olha o cod!!

     

     <%
     Option Explicit
     Response.Expires = 0
     Dim objConn, objRs, strQuery, strConnection,strDBPath
     
     'Conectando com o banco de dados contato.mdb
     Set objConn =  Server.CreateObject("ADODB.Connection")
     'objConn.Open "DBQ=" & Server.MapPath("contato.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
     strDBPath = Server.MapPath("contato.mdb")
     objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & ";"
     
     'Seleciona da tabela contato
     strQuery = "SELECT * FROM contato"
     Set ObjRs = objConn.Execute(strQuery)
     %>
    <html>
    <LINK REL=stylesheet HREF="liks_etc.css" TYPE="text/css">
    <head>
    <title>Consulta</title>
    </head>
    <body bgcolor="#FFFFFF">
    <div align="center" style="width: 910; height: 164">
      <p>&nbsp;</p>
      <table width="719" border="0" cellspacing="0" cellpadding="0" height="1" align="center">
    <tr>
          <td width="762" valign="top" height="136">
    <table border="0" cellpadding="0" cellspacing="0" width="681" align="center">
    <tr bgcolor="ffffff">
                <td colspan="3" width="762">
                  <table width="100%" border="0" cellspacing="2" cellpadding="2">
                    <tr>
                      <td width="18%" height="21" bgcolor="#f5f5f5">
    <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="form_inclusao.asp" class="menu">Incluir</a></font></b></font></div></td>
                      <td width="18%" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#CCCCCC"><a href="form_exclui.asp" class="menu"><font color="#000099">Excluir</font></a></font></b></font></div></td>
                      <td width="18%" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><a href="procura.asp" class="menu">Pesquisar</a></font></b></font></div></td>
                      <td width="18%" bgcolor="#f5f5f5"> <div align="center"><font color="#000099"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#CCCCCC">Alterar</font></b></font></div></td>
                    </tr>
                  </table>
                </td>
              </tr>
              <tr>
                <td colspan="3" width="762">
                  <table width="762" border="0" cellspacing="0" cellpadding="0" height="18">
    <tr>
                      <td align="center" height="1" width="762"> <font face="Verdana, Arial, Helvetica, sans-serif" color="#000099" size="3"><b><br>
                        </b> </font><b>
                      <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Selecione o
                      registro a ser
                        alterado</font></b></td>
                    </tr>
                  </table>
                  <form method="GET" action="form_altera.asp">
                    <table width="736" border="0" cellspacing="0" cellpadding="0" height="1">
                      <tr>
                        <td height="1" align="center" width="734">
                          <table width="688" height="63" border="0" align="center" cellpadding="1" cellspacing="1" bgcolor="#CCCCCC">
    <tr bgcolor="#FF6600">
                              <td width="1" height="2" align="center" bgcolor="#4169E1">
                                <font size="1" color="#FFFF00"><b><font face="Verdana">N&ordm;:</font></b>
                                </font></td>
                              <td width="251" height="2" align="center" bgcolor="#4169E1">
                              <font size="1" color="#FFFF00"><b><font face="Verdana">Nome:</font></b>
                                </font></td>
                              <td width="57" align="center" bgcolor="#4169E1">
                              <font size="1" color="#FFFF00"><b><font face="Verdana">Time:</font></b>                            </font></td>
                              <td width="64" height="2" align="center" bgcolor="#4169E1">
                              <p align="right"> <font size="1" color="FFFFFF">
                                <input type="submit" name="Submit" value="Alterar">
                                </font></td>
                            </tr>
                            <%While Not objRS.EOF%>
                            <tr bgcolor="#FFFFE6">
                              <td width="1" height="2" align="center" bgcolor="#FFFFE6">
    <div align="left"><font size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
                                  <%Response.write objRS("autonum")%>
                                  </font> </b></font></div></td>
                              <td width="251" height="2" align="center">
                                <div align="left"><font size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
                                  <%Response.write objRS("nome")%>
                                  </font> </b></font></div></td>
                              <td width="57" align="center" bgcolor="#FFFFE6">
                                <font size="1"><b>
                                <font face="Verdana, Arial, Helvetica, sans-serif" color="#000066" size=""><img src="<%=objRS("foto")%>" alt="Imagem n&atilde;o dispon&iacute;vel"></font><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
                                  </font></b></font></td>
                              <td width="64" height="2" align="center">
                                <div align="center"><font size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
                                  <input type="radio" name="radio" value="<%=objRS(0)%>">
                                  </font> </b></font></div></td>
                            </tr>
                            <%
     
     ' MOVE PARA O PRÓXIMO REGISTRO. 
       objRS.MoveNext
       Wend
      
     ' FECHANDO AS CONEXÕES.
       objRs.close
       objConn.close
       Set objRs = Nothing
       Set objConn = Nothing
       %>
                          </table>
                        </td>
                      </tr>
                    </table>
                  </form>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </div>
    </body>
    </html>

    sexta-feira, 4 de julho de 2008 14:33
  • Cara pelo que vi vc fez mais ou menos do jeito que eu falei.

    Agora eu não vi aonde você faz o cadastro dos seus contatos, você me passou apenas a tela de consulta e a de alteração no contato.

    Mas deu para perceber uma coisa:

    Code Snippet

    <img src="<%=rstSearch("foto")%>" alt="">


    Essa linha de código mostra que você ja faz o que falei, salva o caminha da imagem no servidor e o impre dentro do atributo SRC da tag IMG, é isso mesmo.

    O que eu quiz dizer no outro post é que alguns sistemas custumam salvam as imagens em banco de dados, ou seja tem um campo dentro da sua entidade capaz de armazenar valores binarios, só que é mo chato de trabalhar sem conta que o custo benefício (no caso WEB) não nem de longe válido.

    Aproveitando, aquele exemplo que te passei não funcionará muito bem não =(, depois que fui ver que ele só funciona se o cliente for o servidor da aplicação WEB. aff ne aahuah foi mau.

    Aqui vou te postar um código aqui da minha empresa huahauhah funciona é complicadinho mas bem funcional, esperamenta ajustar ele, ta ok.
    terça-feira, 8 de julho de 2008 20:00
  •  

    Kra ainda ruim ...afff...

    Pode me ajudar!!

     

    Abraço.

     

    quarta-feira, 27 de agosto de 2008 17:30