Ir para conteúdo

POWERED BY:

Arquivado

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

luiscarlos5046

[Resolvido] Upload 5 fotos, gerar miniatura e salvar no BD

Recommended Posts

Olá Galera,

 

Fiz um código aqui pra enviar 5 fotos a uma pasta e ao mesmo tempo gerar a miniatura das mesmas 5 e salvar em outra pasta.

O código envia todas imagem grandes normalmente...

se eu selecionar 3 fotos, o código só gera a miniatura de 1 imagem só... e grava no BD os nomes das 3 fotos iguais que é a foto 1.

 

Não consegui consertar isso pra gerar as outras miniatura.

 

Alguém pode me ajudar?

 

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

On Error Resume Next
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True
Upload.SetMaxSize 112000
Path = "e:\home\negociosem\jalesnabalada\Web\pub"
Count = Upload.Save(Path)


For Each File in Upload.Files
'Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"

' ETAPA PARA GERAÇÃO DE MINIATURA
Set File = Upload.Files(1)

Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 50
Jpeg.Width = 120	' 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 & "\mini\" & File.ExtractFileName

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

jpeg.Save SavePath
Set Jpeg = Nothing
' FIM DA GERAÇÃO DA MINIATURA

If Err <> 0 Then
%>
	<script>
		alert(" Desculpe, houve um erro ao enviar imagens! \n <% =Err.Description %>");
		history.back();
	</script>
<%
Else
	' GRAVA NO BANCO DE DADOS E MOSTRA MENSAGEM
	link	= "fotos"
	tabela	= "fotos"

	sqlInsert = ""
	sqlInsert = sqlInsert & " INSERT INTO "& tabela &" ( "
	sqlInsert = sqlInsert & " 					   id_evento, "
	sqlInsert = sqlInsert & " 					   foto "
	sqlInsert = sqlInsert & " 					    ) "
	sqlInsert = sqlInsert & " 		  VALUES   ( "	
	sqlInsert = sqlInsert & " 		           " & id &", "
	sqlInsert = sqlInsert & " 		           '" & File.FileName &"' "
	sqlInsert = sqlInsert & " 		           ) "
	cn.execute(sqlInsert)

	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(" Imagens adicionadas com sucesso! \n Confira no site as imagens adicionadas.");
		window.location='index2.asp?link=<% =link %>&id=<% =id %>';
	</script>
<% end if 
End If	

Next
%>
<!--#include file="fechacon.asp"-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Galera, o negócio era bem simples e ninguem se atreveu a responder.

Ta ai o código corrigido e funcionando.

 

* Faz upload de fotos de um form com a quantidade de imagens que necessitar, gera a miniatura automaticamente e grava o nome da foto no BD.

 

Bom proveito a quem utilizar.

 

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

On Error Resume Next
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverwriteFiles = True
Upload.SetMaxSize 112000
Path = "e:\home\negociosem\jalesnabalada\Web\pub"
Count = Upload.Save(Path)

Set File = Upload.Files(1)

For Each File in Upload.Files

' ETAPA PARA GERAÇÃO DE MINIATURA	
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open( File.Path )
Jpeg.Quality = 50       ' qualidade da imagem
Jpeg.Width = 120	' largura da miniatura em pixels
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
       ' Se deixar \mini_  será criado a imagem miniatura na mesma pasta, adicionando mini_ no inicio do nome da foto
SavePath = Path & "\mini\" & File.ExtractFileName

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

jpeg.Save SavePath
Set Jpeg = Nothing
' FIM DA GERAÇÃO DA MINIATURA

If Err <> 0 Then
%>
	<script>
		alert("Desculpe, houve um erro ao enviar imagens!");
		history.back();
	</script>
<%
Else
	' GRAVA NO BANCO DE DADOS E MOSTRA MENSAGEM
	link	= "fotos"
	tabela	= "fotos"

	sqlInsert = ""
	sqlInsert = sqlInsert & " INSERT INTO "& tabela &" ( "
	sqlInsert = sqlInsert & " 					   id_evento, "
	sqlInsert = sqlInsert & " 					   foto "
	sqlInsert = sqlInsert & " 					    ) "
	sqlInsert = sqlInsert & " 		  VALUES   ( "	
	sqlInsert = sqlInsert & " 		           " & id &", "
	sqlInsert = sqlInsert & " 		           '" & File.FileName &"' "
	sqlInsert = sqlInsert & " 		           ) "
	cn.execute(sqlInsert)

	if err.number <> 0 then	%>
	<script>
		alert("Desculpe, houve um erro ao gravar no Banco de Dados!");
		history.back();
	</script>
	<%
	else
	%>
	<script>
		alert("Imagens adicionadas com sucesso!");
		window.location='index.asp';
	</script>
<% end if 
End If	

Next
%>
<!--#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.