Ir para conteúdo

POWERED BY:

Arquivado

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

Alan BH

Upload e Update de imagens

Recommended Posts

upload_form.asp

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!-- #include file = "upload_funcoes.asp" --><table><form name="form1" action="upload_form2.asp" method="post" enctype="multipart/form-data"><tr><td>Nome:</td><td><input type="text" name="nome" size="20"></td></tr><tr><td>Foto:</td><td><input type="file" name="foto" size="14"></td></tr><tr><td colspan="2"><input type="submit" name="submit" value="Enviar"></td></tr></form></table>
upload_form2.asp

 

<!-- #include file = "upload_funcoes.asp" --><%' Chamando Funções, que fazem o Upload funcionarbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Set UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest RequestBin%><%' Recuperando os Dados Digitados ----------------------nome = UploadRequest.Item("nome").Item("Value")' Tipo de arquivo que esta sendo enviadotipo_foto = UploadRequest.Item("foto").Item("ContentType")' Caminho completo dos arquivos enviadoscaminho_foto = UploadRequest.Item("foto").Item("FileName")' Nome dos arquivos enviadosnome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))' Conteudo binario dos arquivos enviadosfoto = UploadRequest.Item("foto").Item("Value")' pasta onde as imagens serao guardadaspasta = Server.MapPath("../../../images/produtos/")nome_foto = "/"&nome_foto' pasta + nome dos arquivoscfoto = foto' Fazendo o Upload do arquivo selecionadoif foto <> "" thenSet ScriptObject = Server.CreateObject("Scripting.FileSystemObject")Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)For i = 1 to LenB(foto)MyFile.Write chr(AscB(MidB(foto,i,1)))NextMyFile.Closeend if' Conecta-se ao Banco de Dadosurl_conexao = Server.MapPath("../../dados/loja.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao' cadastra os dados no banco de dadossql = "Insert into produtos (nome_produto,foto) values ('"& nome &"', '"& cfoto &"')"Conexao.Execute(sql)' Mostra Mensagem de Confirmação na TelaResponse.write "Dados Cadastrados com Sucesso!"' Redireciona após 5 segundosresponse.write "<br><br>você será redirecionado em 5 segundos..<br>"response.write "<meta http-equiv='refresh' content='5; url=../index.asp'/>"%>
upload_funcoes.asp

<%' Upload Sem componentes ---------------------------------------Sub BuildUploadRequest(RequestBin)on error resume nextPosBeg = 1PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)BoundaryPos = InStrB(1, RequestBin, boundary)Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))Dim UploadControlSet UploadControl = CreateObject("Scripting.Dictionary")Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))Pos = InStrB(Pos, RequestBin, getByteString("name="))PosBeg = Pos + 6PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))PosBound = InStrB(PosEnd, RequestBin, boundary)If PosFile <> 0 And (PosFile < PosBound) ThenPosBeg = PosFile + 10PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))UploadControl.Add "FileName", FileNamePos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))PosBeg = Pos + 14PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))UploadControl.Add "ContentType", ContentTypePosBeg = PosEnd + 4PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)ElsePos = InStrB(Pos, RequestBin, getByteString(Chr(13)))PosBeg = Pos + 4PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))End IfUploadControl.Add "Value", ValueUploadRequest.Add Name, UploadControlBoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)LoopEnd SubFunction getByteString(StringStr)For i = 1 To Len(StringStr)Char = Mid(StringStr, i, 1)getByteString = getByteString & ChrB(AscB(Char))NextEnd FunctionFunction getString(StringBin)getString = ""For intCount = 1 To LenB(StringBin)getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))NextEnd Function' Fim upload sem Componentes -----------------------------------------%>
editar_img.asp

 

<!-- #include file = "upload_funcoes.asp" --><%'Conexão com o Banco de Dadosconstring = "PROVIDER=Microsoft.JET.OLEDB.4.0;DATA SOURCE =" & Server.MapPath("../../dados/loja.mdb")Set conexao = Server.CreateObject("ADODB.Connection")conexao.open constring'Abrindo a ConsultaID_edit = request.querystring("id")Set rst = Server.CreateObject("ADODB.Recordset")rst.Open "SELECT * FROM produtos where codigo_produto="&Id_edit , conexao,3,3%>		  <div align="center">			<p><strong>Editar Produto: <%=rst("nome_produto")%></strong></p>			<form action="editar_imagem_alterar.asp" method="post" enctype="multipart/form-data" name="form1">			  <table width="100%"  border="0" cellspacing="2" cellpadding="2">				<tr>				  <td><div align="right"><strong>Imagem Atual: </strong></div></td>				  <td><div align="left"><strong><%="<img src='../../../images/produtos/" & rst("foto")& "' alt='" & rst("nome_produto") & "' border='0'>"%></strong></div></td>				</tr>				<tr>				  <td><div align="right"><strong>Foto:</strong></div></td>				  <td><div align="left">					  <input name="foto" type="file" id="foto" size="30"></div></td>				</tr>				<tr>				  <td><div align="right"><strong>Código:</strong></div></td>				  <td><div align="left">					<input name="id" type="hidden" id="id" value="<%=rst("codigo_produto")%>">				  </div></td>				</tr>			  </table>			  <p>				<input type="submit" name="Submit" value="Editar">			  </p>			</form>			<%			Set rst = nothing			Set conexao = nothing			%>		  </div>
editar_imagem_alterar.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!-- #include file = "upload_funcoes.asp" --><%' Chamando Funções, que fazem o Upload funcionarbyteCount = Request.TotalBytesRequestBin = Request.BinaryRead(byteCount)Set UploadRequest = CreateObject("Scripting.Dictionary")BuildUploadRequest RequestBin%><%' Tipo de arquivo que esta sendo enviadotipo_foto = UploadRequest.Item("foto").Item("ContentType")' Caminho completo dos arquivos enviadoscaminho_foto = UploadRequest.Item("foto").Item("FileName")' Nome dos arquivos enviadosnome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))' Conteudo binario dos arquivos enviadosfoto = UploadRequest.Item("foto").Item("Value")' pasta onde as imagens serao guardadaspasta = Server.MapPath("../../../images/produtos/")'foto pequenacfoto = nome_foto'foto grandegfoto = nome_foto'Arquivar fotonome_foto = "/"&nome_foto' Fazendo o Upload do arquivo selecionadoif foto <> "" then	Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")	Set MyFile = ScriptObject.CreateTextFile(pasta & nome_foto)	For i = 1 to LenB(foto)		MyFile.Write chr(AscB(MidB(foto,i,1)))	Next	MyFile.Closeelse	cfoto = "NoImg.jpg"	gfoto = "NoImgG.jpg"end if' Conecta-se ao Banco de Dadosurl_conexao = Server.MapPath("../../dados/loja.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao'Declarando as variaveisid = UploadRequest.Item("id").Item("Value")foto = cfotofoto2 = gfoto'Editar registroSet rstlns = Server.CreateObject("ADODB.Recordset")strQuery = "UPDATE produtos SET foto ='"&foto&"' where codigo_produto="&idSet ObjRs = conexao.Execute(strQuery)'Redirecionaresponse.Redirect("admin.asp?msg=1")%>
Pra deletar o registro, é so fazer um DELETE FROM ....

Pra deletar a imagem do servidor, ai eu não sei, que tal usar um FTP e ir lá na mão e fazer delete?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O titulo do seu topico foi editado pois estava em CAIXA ALTA ( 09ª Regra )

 

-------------------------------------------------

 

Pode deletar o arquivo usando FSO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok ok... eu não li as regras (confesso)

 

mas acredito que elas sejam baseadas no bom senso XD

 

tenho mais scripts prontos que pretendo compartilhar com a comunidade com o tempo... esses ai eu testei exaustivamente e se vcs tiverem alguma dúvida é só falar... geralmente vai ser trocar uma linha aqui e outra ali para adaptar com o programa que vcs estiverem escrevendo

 

Marioufpa

como é esse FSO afinal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

FSO = File System Object, o mesmo usado para fazer o upload.Esse ai não é o mesmo sistema que tem aqui no laboratório de script no upload sem componentes postado por dark0???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza as regras sao obm sensoEntao a parte de deletar arquivos nao é tao complexa nao

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.