Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2004, 06:02
ciberpata
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 22 años
Puntos: 0
ASPUPLOAD no me valida una variable

Hola a todos:
Tengo un pequeño problemilla por el cual no me funciona una página hecha en asp.
Esta página añade un registro a una DB. El problemilla es que aunque el campo de tipo File "imagenproducto" este vacio o lleno nunca me añade el registro. Esto sucede desde que cambie los request.form por request.upload del componente aspuload, puesto que según deduzco de sus instrucciones se llevan bastante mal.
Obviamente si anulo las sentencias de validación del campo "imagenproducto" y la variable "imagenproducto" la pagina funciona perfectamente. Lo que quiero es obligar al usuario a que no deje la fotografia del producto sin subir al servidor.

Les paso el código para ver si le pueden echar un vistazo porque yo no soy capaz de ver el error. Solo paso el código de la página que evalua el formulario puesto que el formulario pienso que no es necesario.
Les resalto en rojo el lugar donde está el problema.
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
response.Expires=0
Response.AddHeader "PRAGMA", "NO-CACHE" 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Administrar Productos</title>
</head>
<!--#INCLUDE file="../../../adovbs.asp"-->

<%
'Aquí se usa la coleccion upload.form debido a que el componente AspUplad no
'se lleva bien con el request.form del ASP
Set Upload = Server.CreateObject("Persits.Upload.1")
'Carpeta donde se subirán los ficheros
Upload.Save(server.mappath("\images\prueba")) 
%>

<%'Para conexión a dsn arsys con ACCESS
set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "DSN=clubviajesoferta.com.amancio"
Conn.open
Set RS=Server.CreateObject("ADODB.Recordset")
rs.activeconnection=conn 
rs.source="productos"
rs.Locktype = adLockOptimistic
rs.CursorType = adOpenDinamic
rs.open
'Termina aquí la conexion a dsn arsys con ACCESS
%>

<%
'Recupera las variables del formulario
referenciaproducto= Trim(upload.Form("referenciaproducto"))
categoriaproducto= Trim(upload.form("categoriaproducto"))
nombreproducto= Trim(upload.Form("nombreproducto"))
marcaproducto= Trim(upload.form("marcaproducto"))
precioproducto= Trim(upload.Form("precioproducto"))
tallajeproducto= Trim(upload.form("tallajeproducto"))
imagenproducto= Trim(upload.form("imagenproducto"))
descbrevproducto= Trim(upload.form("descbrevproducto"))
descripcionproducto= Trim(upload.form("descripcionproducto"))
temporadaproducto= Trim(upload.form("temporadaproducto"))
estadoproducto= Trim(upload.form("estadoproducto"))

insertar="True"

'Asignamos los valores predeterminados
if referenciaproducto= "" then
	response.write("el campo ""referencia"" está vacio <br>")
	insertar="False"
end if

if categoriaproducto= "" then
	response.write("el campo ""categoría"" está vacio <br>")
	insertar="False"
end if

if nombreproducto= "" then
	response.write("el campo ""nombre"" está vacio <br>")
	insertar="False"
end if

if marcaproducto= "" then
	response.write("el campo ""marca"" está vacio <br>")
	insertar="False"
end if

if precioproducto= "" then
	response.write("el campo ""producto"" está vacio <br>")
	insertar="False"
end if

if tallajeproducto= "" then
	response.write("el campo ""tallaje"" está vacio <br>")
	insertar="False"
end if

if imagenproducto= "" then
	response.write("el campo ""imagen"" está vacio <br>")
	insertar="False"
end if
if descbrevproducto= "" then
	response.write("el campo ""descripción breve"" está vacio <br>")
	insertar="False"
end if

if descripcionproducto= "" then
	response.write("el campo ""descripción completa"" está vacio <br>")
	insertar="False"
end if

if temporadaproducto= "" then
	response.write("el campo ""temporada"" está vacio <br>")
	insertar="False"
end if

if estadoproducto= "" then
	response.write("el campo ""estado"" está vacio <br>")
	insertar="False"
end if

'Añadimos el registro
rs.addnew
For each Parametro in upload.Form
'Para ver los nombres de los campos del formulario
'response.write(parametro.name & ", <br>")
'Aquí recogemos el valor del campo del formulario porque las variables solo
'se usan para validar el formulario, debido a que no hay forma de recoger
'los valores que hay en las variables para meterlas en la base de datos
	LCase(Parametro.value)
	rs(parametro.name)=(parametro.value)
Next

'Este For-Next hace que el fichero se suba al servidor
ruta="../images/"
For Each File in Upload.Files
	rs(File.name)=ruta & (File.filename)
	'Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
Next

If Insertar then
	rs.Update 
	response.write("El producto se ha añadido correctamente a la base de datos <br>")
else
	rs.cancelupdate
	response.write("<br>El producto no se ha añadido al a base de datos puesto que el/los campo/s arriba indicados no contienen datos")
End if

rs.close
conn.close
%>
<body>
</body>
</html>
¿Por cierto alguien puede indicarme porque no me funciona la sentencia LCASE?
No da error pero tampoco convierte el nombre de los ficheros a mínusculas.

Gracias a todos de antemano. No se que haría sin su ayuda

Última edición por ciberpata; 14/08/2004 a las 06:05