Ir para conteúdo

POWERED BY:

Arquivado

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

Juliano Gomes

AspUpLoad + AspJpeg

Recommended Posts

fala galera, seguinte:

 

tenho um formulário que envia 2 imagens para o servidor atraves do aspupload e redimensiona elas . Como de praxe, depois de upar as duas imagens eu salvo apenas o nome delas numa tabela do meu banco.

 

nessa tabela tenho dois campos: imagem1 e imagem2

 

 

meu problema ta em distinguir as duas imagens na hora que eu upo ela do tipo, eu uso aquele exemplo que vem com o componente:

grandes  = Server.MapPath("../images/fotos/modelos/grandes")iniaturas = Server.MapPath("../images/fotos/modelos/miniaturas")Set Upload = Server.CreateObject("Persits.Upload")' Imagem GrandeSet JpegG = Server.CreateObject("Persits.Jpeg")' Imagem miniaturaSet JpegM = Server.CreateObject("Persits.Jpeg")	Upload.Save GrandesFor Each File in Upload.FilesIf File.ImageType <> "JPG" Then   Response.Write "Essa não é uma imagem JPG. por favor verifique."   File.Delete   Response.EndEnd IfFoto = File.FileName			response.Write("Foto: " &Foto& "<br>")		' Salva a Imagem GrandeJpegG.Open File.Path' seta o tamanho padrão da imagem grande da pontaJpegG.Width  = 38JpegG.Height = 480JpegG.Save grandes & "/" & Foto	' Salva a miniatura JpegM.Open File.PathScaleM = 50 ' 50% do tamanho originalJpegM.Width = JpegM.OriginalWidth * ScaleM / 100JpegM.Height = JpegM.OriginalHeight * ScaleM / 100JpegM.Save miniaturas & "/" & Foto		' deleta a imagem original do servidor			Set imagem = CreateObject("Scripting.FileSystemObject")If (imagem.FileExists(grandes&"/"&File.FileName)) Thenimagem.DeleteFile(grandes&"/"&File.FileName)end if 		Set imagem = Nothing	next
vamos supor que aquele response.Write("Foto: " &Foto& "<br>") me retornasse(o que acontece na pratica comigo):

foto: foto1.jpg

foto: foto2.jpg

 

até ai tudo funciona tranquilo, o problema é que a variavel para as duas imagens se chama "foto", e quando eu vou dar um insert no banco, é salvo o mesmo nome

srtSql = "INSERT INTO tabela (imagem1, imagem2) VALUES('"& foto &"', '"& foto &"')"

olhando na tabela depois desse insert eu veria o seguinte

imagem1 = foto2.jpg

imagem2 = foto2.jpg

 

quando na verdade era pra ser:

imagem1 = foto1.jpg

imagem2 = foto2.jpg

 

 

alguem pode me ajudar???

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso, você terá que utilizar duas variaveis diferentes.

x = 0
For Each File in Upload.Files
.
.
.
if x = 0 then
   Foto1 = File.FileName	
   x = 1
else
   Foto2 = File.FileName 
end if	 
.
.
.  
next
srtSql = "INSERT INTO tabela (imagem1, imagem2) VALUES('"& foto1 &"', '"& foto2 &"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar como o código ficaria. Aí você testa ai.

grandes  = Server.MapPath("../images/fotos/modelos/grandes")
iniaturas = Server.MapPath("../images/fotos/modelos/miniaturas")

Set Upload = Server.CreateObject("Persits.Upload")
' Imagem Grande
Set JpegG = Server.CreateObject("Persits.Jpeg")
' Imagem miniatura
Set JpegM = Server.CreateObject("Persits.Jpeg")	

Upload.Save Grandes

x = 0
For Each File in Upload.Files
   If File.ImageType <> "JPG" Then
	  Response.Write "Essa não é uma imagem JPG. por favor verifique."
	  File.Delete
	  Response.End
   End If

   Foto = File.FileName 
   if x = 0 then
	  Foto1 = File.FileName	
	  x = 1
   else
	  Foto2 = File.FileName 
   end if   
	
   ' Salva a Imagem Grande
   JpegG.Open File.Path
   ' seta o tamanho padrão da imagem grande da ponta
   JpegG.Width  = 38
   JpegG.Height = 480
   JpegG.Save grandes & "/" & Foto	

   ' Salva a miniatura 
   JpegM.Open File.Path
   ScaleM = 50 ' 50% do tamanho original
   JpegM.Width = JpegM.OriginalWidth * ScaleM / 100
   JpegM.Height = JpegM.OriginalHeight * ScaleM / 100
   JpegM.Save miniaturas & "/" & Foto
		
   ' deleta a imagem original do servidor			
   Set imagem = CreateObject("Scripting.FileSystemObject")
   If (imagem.FileExists(grandes&"/"&File.FileName)) Then
	  imagem.DeleteFile(grandes&"/"&File.FileName)
   end if		 
   Set imagem = Nothing
next

srtSql = "INSERT INTO tabela (imagem1, imagem2) VALUES('"& foto1 &"', '"& foto2 &"')"

Compartilhar este post


Link para o post
Compartilhar em outros sites

sabe-se que o AspUpload, para pegar os valores dos componentes de um form, lê os componentes do form de cima para baixo. em nesse form tenho dois input(s) do tipo file, para upar as imagens.

 

hargon, funcionou que é uma beleza, porém só se eu upo as duas imagens. vamos supor que se eu quero upar só a foto dois, que corresponderia ao txtImgI logo abaixo... o que acontece é que ela é lida pelo AspUpload como variavel Foto1 por ela ser a primeira imagem a ser lida de cima para baixo no form

 

<input name="txtImgP" type="file" class="form" id="txtImgP" size="35" /><input name="txtImgI" type="file" class="form" id="txtImgI" size="35" /></td>

eu precisaria que a variavel Foto 1 contivesse o valor do Upload.Form("txtImgI")

e a Foto 2 contivesse o valor do Upload.Form("txtImgP")

 

só assim eu conseguiria upar a imagem certa para o lugar certo

 

ja tentei algo do tipo:

 

Foto1 = Upload.Form("txtImgI")

Foto2 = Upload.Form("txtImgP")

 

mas depois dando um response.write nessas variaveis elas vinham vazias...

 

alguma dica para mim ????

 

um abraço a todos!

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.