Ir para conteúdo

POWERED BY:

Arquivado

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

Alan Venancio

[Resolvido] Alterar fotos usando componentes asp upload e asp Jpe

Recommended Posts

Estou tentando fazer update de texto e imagens, so consigo fazer sem componentes, aqui eu faço o insert que gera miniatura e a original, queria fazer o update que iria manter a mesma foto ou se eu alterar a foto que gerasse do mesmo geito do insert, os campos que uso na base de dados sao:

 

Categoria

Titulo

Descricao

Foto

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alan,

 

eu tenho esse código que uso e gosto muito... ele envia uma imagem grande, reduz pra uma dimensão razoável padrão que usará no site e após gera uma miniatura e grava numa pasta separado... veja se te serve e pode modificar a seu critério.

 

<%
id	= request("id")

On Error Resume Next
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True	' sobrepõe o arquivo ?
Upload.SetMaxSize 1000000		' tamanho máximo permitido para envio em KB
Path = "C:/inetpub/vhosts/site.com.br/httpdocs/fotos/"		' caminho relativo ao site no servidor
Count = Upload.Save(Path)

For Each File in Upload.Files
foto = File.FileName			' pega o nome do arquivo da imagem em uma variável
Next

' REDUZIR TAMANHO DA IMAGEM EM KB
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 70	' qualidade do JPEG
Jpeg.Width = 640	' tamanho da largura da foto a ser redimensionada
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth		' pega largura e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava a imagem na pasta definida acima no Path
SavePath = Path & File.ExtractFileName

If UCase(Right(SavePath, 3)) <> "JPG" Then
 SavePath = SavePath & ".jpg"
End If
jpeg.Save SavePath

' ETAPA PARA GERAÇÃO DA MINIATURA
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )		' pega o caminho relativo definido no Path
Jpeg.Quality = 80			' define a qualidade do JPEG
Jpeg.Width = 120			' tamanho da largura a ser criado a miniatura
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth 	' pega largura e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava miniatura da imagem na pasta mini dentro do caminho definido no Path
SavePath = Path & "\mini\" & File.ExtractFileName

If UCase(Right(SavePath, 3)) <> "JPG" Then
 SavePath = SavePath & ".jpg"
End If
jpeg.Save SavePath

Set Jpeg = Nothing


' se houver erro mostra mensagem e volta
If Err <> 0 Then
Response.Write "Desculpe, houve um erro ao enviar imagens! <br />"
Response.Write "<a href=""javascript:history.back();"">Voltar</a>"
Else
' se não houver erro, grava no banco de dados e mostra mensagem de sucesso
strSql = ""
strSql = strSql & " Update tabela SET "
strSql = strSql & " foto		= '"& File.FileName &"' "
strSql = strSql & " Where id 	= "& id &" "
cn.execute(strSql)

' se houver erro relativo ao gravar no BD mostra mensagem
if err.number <> 0 then
	Response.Write "Desculpe, houve um erro ao gravar no Banco de Dados! <br />"
	Response.Write "<a href=""javascript:history.back();"">Voltar</a>"
else
	' se não houver erro, mostra mensagem de sucesso e encaminha para index ou pagina
%>
	<script>
		alert("Dados alterados com sucesso!");
		window.location='index.asp';
	</script>
<%
end if 
End If	
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ENTÃO AMIGO GOSTEI MUITO DESTE COD TAMBÉM CONSEGUI FAZER O INSERT MAS A ATUALIZAÇÃO DE TEXTO E IMAGENS NAO CONSIGO DE MANEIRA ALGUMA VO POSTAR O COD QUE TENTEI FAZER MAS NAO SOU MUITO BOM EM LOGICA, SE PUDER DAR UMA FORÇA AGRADEÇO DESDE JÁ

 

<%
On Error Resume Next
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True    ' sobrepõe o arquivo ?
Upload.SetMaxSize 1000000               ' tamanho máximo permitido para envio em KB

Path = "E:\SITE JAGUAPITA\Site Bolinha\noticias\"

Count = Upload.Save(Path)

For Each File in Upload.Files
       foto = File.FileName                    ' pega o nome do arquivo da imagem em uma variável
Next

' REDUZIR TAMANHO DA IMAGEM EM KB
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 70       ' qualidade do JPEG
Jpeg.Width = 370        ' tamanho da largura da foto a ser redimensionada
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth             ' pega largura e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava a imagem na pasta definida acima no Path
SavePath = Path & File.ExtractFileName

If UCase(Right(SavePath, 3)) <> "JPG" Then
 SavePath = SavePath & ".jpg"
End If
jpeg.Save SavePath

' ETAPA PARA GERAÇÃO DA MINIATURA
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )          ' pega o caminho relativo definido no Path
Jpeg.Quality = 75                       ' define a qualidade do JPEG
Jpeg.Width = 100                        ' tamanho da largura a ser criado a miniatura
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth     ' pega largura e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava miniatura da imagem na pasta mini dentro do caminho definido no Path
SavePath = Path & "miniaturas\" & File.ExtractFileName

If UCase(Right(SavePath, 3)) <> "JPG" Then
 SavePath = SavePath & ".jpg"
End If
jpeg.Save SavePath

Set Jpeg = Nothing

categoria  = request("categoria")
titulo  = request("titulo")
noticia1  = request("noticia1")
'noticia1 = replace(noticia1, VBCRLF,"<br>")
noticia2  = request("noticia2")
'noticia2 = replace(noticia2, VBCRLF,"<br>")
data  = request("data")
'foto  = request.form("foto")

id = request.querystring("id")

Set con = Server.CreateObject("ADODB.Connection")
con.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; DATA SOURCE = " & Server.Mappath("Database/Controle.mdb") & ""
con.Open 

strQuery = "UPDATE tb_noticias set foto ='"&foto&"',categoria = '"&categoria&"',titulo = '"&titulo&"',noticia1 = '"&noticia1&"',noticia2 = '"&noticia2&"',data = '"&data&"' WERE id = '"&id
con.execute(strQuery)


On error Resume Next
'Executa a insero no Banco de Dados 
Set rs = con.Execute(strQuery)
'Fecha o Objeto de Conexo
con.close
'"APAGA" qualquer instancia que possa ter no objeto objRs e objConn
Set rs = Nothing
Set con = Nothing
'Caso a funo On Error Resume Next no tenha sido chamada o objeto err ser = a 0
if err = 0 Then
'Redireciona o usurio caso no tenha ocorrido erro na transao

%>
<%
response.Redirect("cadastrar_itens.asp?id=11")
end if    

%>
<%
response.Redirect("cadastrar_itens.asp?id=10")

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer atualizar no banco ed dados ou via Persits,

não entendi muito bem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao pois queria que na atualizaçao se atualizasse so os dados a foto continuaria a mesma mas se atualizasse a imagem ela faria o mesmo procedimento de tratamento de diminuir o kb da imagem e geraria uma miniatura

Compartilhar este post


Link para o post
Compartilhar em outros sites

no UPDATE, verifique se você tem um campo , para imagem, (pelo que entendi, seria atualizar o arquivo de imagem), nesse caso, sempre se guarda no bd o caminho da imagem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer o update com o cod que o LUIS CARLOS me passo segue ai eu tive que criar um variável x para id para conseguir mas de boa, segue abaixo, agora queria fazer assim - se o campo imagem nao fosse selecionado continuaria a mesma que estava se alguem pude me ajudar ficaria grato..

 

<%
x = "id"
x	= request.QueryString("id")%>
<!--#include file="abrecon.asp"-->
<%
On Error Resume Next
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True
Upload.SetMaxSize 1000000

'Caminho da pasta no servidor ex:

Path = "G:/SITE/Site Bolinha/noticias/"
Count = Upload.Save(Path)

For Each File in Upload.Files
foto = File.FileName

Next
' REDUZ TAMANHO DA IMAGEM EM KB
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 70
Jpeg.Width = 370	' tamanho a ser criado a miniatura
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth ' pega largura a ser reduzida e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava miniatura da imagem na pasta mini
SavePath = Path & File.ExtractFileName
   If UCase(Right(SavePath, 3)) <> "JPG" Then
   SavePath = SavePath & ".jpg"
   End If


jpeg.Save SavePath

' ETAPA PARA GERAÇÃO DE MINIATURA
Set File = Upload.Files(1)
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 80
Jpeg.Width = 100	' tamanho a ser criado a miniatura
Jpeg.Height = Jpeg.OriginalHeight * Jpeg.Width / Jpeg.OriginalWidth ' pega largura a ser reduzida e diminui altura proporcional
Jpeg.Sharpen 1, 120
' Grava miniatura da imagem na pasta mini
SavePath = Path & "\miniaturas\" & File.ExtractFileName
   If UCase(Right(SavePath, 3)) <> "JPG" Then
   SavePath = SavePath & ".jpg"
 	End If
jpeg.Save SavePath
Set Jpeg = Nothing

If Err <> 0 Then
%>
<script>
	alert(" Desculpe, houve um erro ao enviar imagens! \n <% =Err.Description %>");
	history.back();
</script>
<%
Else
categoria	= Upload.form("categoria")
titulo	= Upload.form("titulo")
noticia1	= Upload.form("noticia1")
noticia2	= Upload.form("noticia2")
data	= Upload.form("data")

' GRAVA NO BANCO DE DADOS E MOSTRA MENSAGEM

link	= "eventos"
tabela	= "tb_noticias"
strSql = ""
strSql = strSql & " Update "& tabela &" SET "
strSql = strSql & " foto		= '"& File.FileName &"', "
strSql = strSql & " categoria		= '"& categoria &"', "
strSql = strSql & " titulo			= '"& titulo &"', "
strSql = strSql & " noticia1		= '"& noticia1 &"', "
strSql = strSql & " noticia2		= '"& noticia2 &"', "
strSql = strSql & " data			= '"& data &"' "
strSql = strSql & " Where id 	= "& x &" "

cn.execute(strSql)

if err.number <> 0 then	%>
<script>
	alert(" Desculpe, houve um erro ao gravar no Banco de Dados! \n <% =Err.Description %>");
	history.back();
</script>
<%
else
%>
<script>
	alert(" Foto alterada com sucesso! \n Confira no site.");
	window.location='index.asp?link=<% =link %>';
</script>
<%
end if 
End If	
%>
<!--#include file="fechacon.asp"-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz um If, se o campo imagem nao for selecionado, voce executa uma outra SQL UPDATE, senão você USA outra SQL para atualizar

Compartilhar este post


Link para o post
Compartilhar em outros sites

SERA QUE você TERIA UM EXEMPLO AI PARA EU ADAPTAR NO COD ACIMA SE PUDER ME AJUDAR AGRADECEREI.

 

FIZ UM OUTRO SQL SEPARADO MESMO E FICO ÓTIMO AGRADEÇO A TODOS QUE ME DEU UMA FORÇA, POSTAREI O COD PARA VCS

 

<%
<!--#include File="adminAuth.asp"-->
%>
<!--#include file="abrecon.asp"-->
<%
id	= request.QueryString("id")

categoria	= request.form("categoria")
titulo	= request.form("titulo")
noticia1	= request.form("noticia1")
noticia2	= request.form("noticia2")
data	= request.form("data")



' GRAVA NO BANCO DE DADOS E MOSTRA MENSAGEM


link	= "eventos"
tabela	= "tb_noticias"

strSql = ""
strSql = strSql & " Update "& tabela &" SET "
'strSql = strSql & " foto		= '"& foto &"', "
strSql = strSql & " categoria		= '"& categoria &"', "
strSql = strSql & " titulo			= '"& titulo &"', "
strSql = strSql & " noticia1		= '"& noticia1 &"', "
strSql = strSql & " noticia2		= '"& noticia2 &"', "
strSql = strSql & " data			= '"& data &"' "
strSql = strSql & " Where id 		= "& id &" "
cn.execute(strSql)
'response.write(strSql)
'
'response.end()

if err.number <> 0 then	%>
<script>
	alert(" Desculpe, houve um erro ao gravar no Banco de Dados! \n <% =Err.Description %>");
	history.back();
</script>
<%
else
%>
<script>
	alert(" Foto alterada com sucesso! \n Confira no site.");
	window.location='index.asp?link=<% =link %>';
</script>
<%
end if 
'end if
'End If
%>
<!--#include file="fechacon.asp"-->

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.