Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/07/2009, 17:35
kikesama
 
Fecha de Ingreso: febrero-2005
Mensajes: 17
Antigüedad: 21 años, 8 meses
Puntos: 0
Respuesta: ASPUPLOAD no me valida una variable

Hola!

En realidad estoy bastante apurado, pero en este foro he recibido valiosa ayuda antes. No es una respuesta concreta a tu caso, pero como ya está funcionando, revisa y ves que debes editar ok?

Que hace?

* Sube todas las imagenes que quieras (en página que redirecciona a esta deberás poner cuantos files desees)
* limitando el tamaño de archivo; da mensaje de error si supera los kb--->
* verifica que cada file upload sean imágenes; si no son imagenes las borra.
* Asigno un nombre diferente al original usando un código aleatorio (El componente trae una opción para esto, pero me enteré después!)
* redimensiona a dos tamaños diferentes, manteniendo proporciones
* estampa un logo (logo.png en el servidor)
* borra la imagen original de tamaño grande
* agrega cada registro a una Base Access
* luego redirecciona a una página de salida.

Si no estás ducho, mañana puedo ayudarte mejor....

Saludos!
Código PHP:
<&#37;Response.CharSet = "utf-8" %>

<% Server.ScriptTimeout = 1800 %> 



<%



    
Set Upload = Server.CreateObject("Persits.Upload")
    
Upload.IgnoreNoPost = true 
    

set oConexion
=server.createobject ("ADODB.CONNECTION")
oConexion.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("../bbdd/galeria.mdb")


Const 
adOpenKeyset = 1
Const adLockOptimistic = 3
 inicio de carga en automotores
set rscd
=createobject("ADODB.Recordset")
rscd.CursorType = adOpenKeyset 
rscd
.LockType = adLockOptimistic 
sqltxt1
=" SELECT * FROM fotogaleria"
rscd.Open sqltxt1, oConexion




    Set Jpeg 
= Server.CreateObject("Persits.Jpeg")
    
Upload.OverwriteFiles = False
    Upload
.ProgressID = Request.QueryString("PID")

    
Upload.SetMaxSize 15728640, False

    On Error Resume Next
    n 
= Upload.Save(Server.MapPath ("../galeria2009/"))

    If 
Err.Number = 8 Then
   Response
.Write "No permitido. Sus imágenes deben pesar 2 MB como máximo."

    
ErrorNum = Err.Number
    Descr 
= Err.Description

If ErrorNum <> 0 Then
        Response
.Write "<B>Ha ocurrido un error: <FONT COLOR=""#FF0000"">" & Descr & "</FONT></B>Contacte al webmaster a la brevedad posible: Enrique Ogalde Cel.: (02965) 15393307"
response.end
end 
if
end if


randomize()
largo = 3
For contador = 1 to largo
numero 
= Int(26 * Rnd + 97)
letra = Chr(numero)
codigo = codigo & letra
next        
idfamilia 
= upload.form("idfamilia")
idSUBfamilia = upload.form("idSUBfamilia")
nombrefamilia = upload.form("nombrefamilia")
nombreSUBfamilia = upload.form("nombreSUBfamilia")




For 
Each File in Upload.Files
  
If File.ImageType = "UNKNOWN" Then
  File
.Delete
  end 
if





   
i1 = ""&codigo&"_" & File.FileName


   Jpeg
.Open File.Path
   
   
   
L 
= 500
if Jpeg.OriginalWidth > Jpeg.OriginalHeight then
Jpeg
.Width = L
Jpeg
.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
x 
= Jpeg.Width - 90
y 
= Jpeg.Height - 90
else
Jpeg.Height = L
Jpeg
.Width = Jpeg.OriginalWidth * L / Jpeg.OriginalHeight
x 
= Jpeg.Width - 95
y 
= Jpeg.Height - 95
end 
if
        
Jpeg.ToRGB 



Set Jpeg2 
= Server.CreateObject("Persits.Jpeg")
Jpeg2.Open  Server.MapPath("logo.png") 

Jpeg.Canvas.DrawImage x, y, Jpeg2, 0.6 , &Hffffff, 2

Jpeg
.Save Server.MapPath("../Galeria2009/") & "\Gr_"&codigo&"_" & File.FileName
File
.Delete


L 
= 150
if Jpeg.OriginalWidth > Jpeg.OriginalHeight then
Jpeg
.Width = L
Jpeg
.Height = Jpeg.OriginalHeight * L / Jpeg.OriginalWidth
else
Jpeg.Height = L
Jpeg
.Width = Jpeg.OriginalWidth * L / Jpeg.OriginalHeight
end 
if
        
        
Jpeg.Save Server.MapPath("../Galeria2009/") & "\CH_"&codigo&"_" & File.FileName


   
File
.Delete

rscd
.Addnew



rscd
("familia") = idfamilia
rscd
("SUBfamilia") =  idSUBfamilia
rscd
("NombreFotoChica")= "CH_"&i1&""
rscd("NombreFotoGrande")= "Gr_"&i1&""
rscd("descripcionfoto")= descripcion
rscd
("numerovisitas")= 1


next









rscd
.Update
rscd
.close
Set rscd 
= Nothing
Set oConexion 
= Nothing
oConexion 
= close 

response
.Redirect("OtraPaginademisitio"%> 
Ojalá te sirva de ayuda!