Ir para conteúdo

POWERED BY:

Arquivado

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

beto_solobó

[Resolvido] Update de imagem + Banco de dados

Recommended Posts

E aí galera...

 

É o seguinte: estou quebrando a cabeça aqui com um script de update form para imagens.

 

A rotina é assim: Faço um update de uma imagem e depois crio duas etapas (imagem grande e imagem pequena). Depois disso quero salvar os caminhos das imagens no bd para chamar depois e apagar a imagem original.

 

Até aí tudo certo... só que o script dá pau!!! Não funciona e nao aparece o erro! Apenas dá um Erro HTTP 500.

 

O curioso é que tá salvando as imagens nas pastas certas e apagando a original (consigo ver isso pelo ftp) mas a página não roda por completo!

 

Vou colocar o script aqui e se alguém tiver alguma luz e puder me ajudar... valeu!

 

Abraçao a todos!

 

<%@LANGUAGE="VBSCRIPT"%> 
<!--#include file="conexao.asp"-->

<%
Server.ScriptTimeOut=10000000

Response.Buffer = True

Dim var_produto
Dim var_foto_g, var_foto_p


Set Upload = Server.CreateObject("SoftArtisans.FileUp")

Upload.Path = "xxxxx" 'o caminho tá certo! Só tirei por questão de privacidade do cliente.

var_produto = Upload.Form("produto")
id = var_produto

if not Upload.Form("foto").IsEmpty Then
Upload.Form("foto").Save
var_foto_g = Upload.Form("foto").ShortFilename
var_foto_p = Upload.Form("foto").ShortFilename
else
Response.Redirect("inicio.asp?modulo=gpro")
end if



f_path = Upload.Path
fg_path = Upload.Path & "\fotos_g"
fp_path = Upload.Path & "\fotos_p"

f_file = Upload.Form("foto").ShortFilename
File1 = f_path & f_file


Set Jpg_FotoG = Server.CreateObject("Persits.Jpeg")
Jpg_FotoG.Open File1

L = 400
H = 400

If Jpg_FotoG.OriginalWidth > Jpg_FotoG.OriginalHeight Then
   Jpg_FotoG.Width = L
   Jpg_FotoG.Height = Jpg_FotoG.OriginalHeight * L / Jpg_FotoG.OriginalWidth
Else
   Jpg_FotoG.Height = H
   Jpg_FotoG.Width = Jpg_FotoG.OriginalWidth * H / Jpg_FotoG.OriginalHeight
End If

SavePath = fg_path & "\" & id & "_" & "GRANDE.jpg"

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

Jpg_FotoG.Save SavePath



Set Jpg_FotoP = Server.CreateObject("Persits.Jpeg")
Jpg_FotoP.Open File1

L = 150
H = 150

If Jpg_FotoP.OriginalWidth > Jpg_FotoP.OriginalHeight Then
   Jpg_FotoP.Width = L
   Jpg_FotoP.Height = Jpg_FotoP.OriginalHeight * L / Jpg_FotoP.OriginalWidth
Else
   Jpg_FotoP.Height = H
   Jpg_FotoP.Width = Jpg_FotoP.OriginalWidth * H / Jpg_FotoP.OriginalHeight
End If

SavePath = fp_path & "\" & id & "_" & "PEQUENA.jpg"

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

Jpg_FotoP.Save SavePath

' objeto FSO para deletar
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
arqDel = File1
objFSO.DeleteFile arqDel, True


Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open ConString

Set RS_Fotos = Server.CreateObject("ADODB.Recordset")
RS_Fotos.CursorType = 0
RS_Fotos.LockType = 3
RS_Fotos.Source = "SELECT * FROM imagens WHERE codigo_pro = '" & id & "'"
RS_Fotos.AddNew

RS_Fotos("img_g").Value = id & "_gde"
RS_Fotos("img_p").Value = id & "_peq"


RS_Fotos.Update
RS_Fotos.Close

Conexao.Close

response.redirect("inicio.asp?modulo=gpro")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

é.. o que parece é que: OU a página inicio.asp é que está com erro (olhe na barra da URL p ver se ela ja foi redirecionada), OU eh o seu SELECT ai no meio que pode estar com problemas tbm. eu testei aqui retirando o seu SELECT (pois não usei) e deu certo, sem erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A página não redireciona...

 

Dá erro enquanto esta na pagina que tem o script acima...

 

O que será que pode estar de errado no SELECT então?

 

Se eu não for alterar todos os campos da tabela não posso chamar SELECT * FROM imagens?

 

Quero alterar (pois já tem preenchimento inicial nesses capos) somente doi itens desta tabela.

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.