Foros del Web » Programando para Internet » ASP Clásico »

Subir imagenes

Estas en el tema de Subir imagenes en el foro de ASP Clásico en Foros del Web. Buenas gente, Os remito mi problemón. Tengo un apartado de noticias auto administrable por el cliente pero por el momento solo era texto. Lo que ...
  #1 (permalink)  
Antiguo 20/12/2007, 05:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 128
Antigüedad: 18 años, 7 meses
Puntos: 0
Subir imagenes

Buenas gente,

Os remito mi problemón.
Tengo un apartado de noticias auto administrable por el cliente pero por el momento solo era texto.

Lo que necesito ahora es introducir un botón de Examinar...para que el cliente introduzca la foto que quiera y esta se guarde junto al Titular, noticia, fecha en el documento Access.

Si alguien tiene ese código ya escrito se lo agradecería mucho, estoy mirando en mucho sitios pero no me entero de nada. Soy bastante nueva en esto y se hace complicado.

Un saludo
  #2 (permalink)  
Antiguo 20/12/2007, 06:22
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 19 años, 6 meses
Puntos: 9
Re: Subir imagenes

Puedes usar la clase XelUpload,

En el enlace viene la clase y los ejemplos para descargarse, creo que te será fácil adaptar el ejemplo a tus necesidades
  #3 (permalink)  
Antiguo 20/12/2007, 10:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 128
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Subir imagenes

Ok estoy en ello pero me da un error.

Tipo de error:
ADODB.Field (0x800A0C93)
La operación no está permitida en este contexto.
/retralec/prueba/xelupload.asp, línea 206

Me sube el archivo a la carpeta peto no veo nada en la base de datos..

Que puede ser?

Pongo el código:

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Retralec -- Vic&aacute;lvaro</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
function enviar() {
	vcontra=document.form1.contra.value
	vusu=document.form1.usuario.value
		if (vcontra=="1111" && vusu=="retralec") {
			window.open ("privado.asp")
			
		} else if (vcontra!="1111" && vusu!="retralec"){
			alert ("ERROR. Los datos no son correctos")
		}
}
</script>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
-->
</style>
<link href="estilos.css" rel="stylesheet" type="text/css">

<style type="text/css">
<!--
.Estilo4 {color: #999999}
.Estilo5 {color: #035F3E}
.Estilo6 {
	color: #006332;
	font-weight: bold;
}
.Estilo7 {color: #FFFFFF}
.Estilo7 {color: #FFFFFF; font-weight: bold; }
.Estilo8 {color: #006332}
-->
</style>
<script language="JavaScript">
<!--

<!--

// mmLoadMenus()

<!--#include file="xelupload.asp"-->
<%
Dim oConn, rs, SQL
Dim objUpload, objFich, strNombre, strEdad, strComentario , strFotonoticia
Dim maxtam, strNombreFichero

'nuestro tamaño máximo
maxtam = 15 * 1024

set objUpload = new xelUpload
objUpload.Upload()

'recuperamos los campos usuario y edad
strNombre = objUpload.Form("titulo2")
strEdad = objUpload.Form("autor")
strComentario = objUpload.Form("comentario")
strFotonoticia = objUpload.Form("fotonoticia")

'si no ha subido ningún fichero, le avisamos
if objUpload.Ficheros.Count = 0 then
	Response.Write("¡No has subido ningún fichero!")
else
	'accedemos al fichero por su nombre en el formulario
	set objFich = objUpload.Ficheros("fotonoticia")
	if objFich.Tamano <= maxtam and objFich.TipoContenido = "image/gif" then
		'Es el fichero correcto, vamos a guardarlo en todas partes. :-)
		
		'Primero, en nuestro directorio actual con el nombre que tiene
		objFich.Guardar Server.MapPath("archivos")

		'Ahora, en el directorio upload, con la fecha de hoy como nombre
		strNombreFichero = Day(Date) & Month(Date) & Year(Date)
		objFich.GuardarComo strNombreFichero, Server.MapPath("upload")

		'Ahora nos conectamos a una base de datos
		set oConn = Server.CreateObject("ADODB.Connection")
		set rs = Server.CreateObject("ADODB.Recordset")
	
		'Nos conectamos con ODBC sin DSN, suponiendo que la base
		'de datos está en este mismo directorio
		oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" _
			& "DBQ=" & Server.MapPath("archivos.mdb")
		SQL = "SELECT * FROM NOTICIAS"
		'Abrimos el Recordset: el 0 es el cursor adForwardOnly
		' y el 2 es el cerrojo adLockPessimistic
		rs.Open SQL, oConn, 0, 2

		'Añadimos un nuevo registro
		rs.AddNew
		rs.Fields("titularnoticia") = strNombre
		rs.Fields("fecha") = strEdad
		rs.Fields("fotonoticia") = objFich.Nombre

		'Llamamos a GuardarBD pasandole el campo correspondiente!!!
		objFich.GuardarBD rs.Fields("fotonoticia")

		'Guardamos el nuevo registro
		rs.Update

		'y limpiamos todo que vienen los padres
		rs.Close
		set rs = nothing
		oConn.Close
		set oConn = nothing

		'¡Todo correcto!
		Response.Write "Se ha añadido el nuevo usuario <b>" & strNombre & "</b>, "  _
		& "con el fichero " & objFich.Nombre & " de tamaño " & objFich.Tamano & "."

		'Limpiamos nuestro xelUpload y el fichero
		set oFich = nothing
		set objUpload = nothing

	else
		'No era un fichero válido
		Response.Write("No es un fichero aceptable. ")
		Response.Write("Tiene que ser un fichero GIF de menos de 15k.")
	end if

end if
%>
Las colummnas de la BD las he llamado de la siguiene manera:
fecha
titularnoticia
fotonoticia
desarrollo

Gracias
  #4 (permalink)  
Antiguo 20/12/2007, 13:00
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Re: Subir imagenes

cual es tu linea 206???

esta???
Cita:
'Primero, en nuestro directorio actual con el nombre que tiene
objFich.Guardar Server.MapPath("archivos")
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #5 (permalink)  
Antiguo 21/12/2007, 01:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 128
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Subir imagenes

Tipo de error:
ADODB.Field (0x800A0C93)
La operación no está permitida en este contexto.
/retralec/prueba/xelupload.asp, línea 206

Por el tipo de error que me da pienso que el error está en el documento xelupload y esta es la línea:

field.AppendChunk Datos

No se que puede pasar.

Me podeis ayudar

Si alguien sabe lo que puede ser le mando los archivos al correo que me diga.

Gracias

es super urgente
  #6 (permalink)  
Antiguo 21/12/2007, 05:54
Avatar de PosProdukcion  
Fecha de Ingreso: noviembre-2004
Ubicación: Manzanares el Real (Madrid)
Mensajes: 726
Antigüedad: 19 años, 6 meses
Puntos: 9
Re: Subir imagenes

Yo cuando he usado esta clase solo la he usado para subir los archivos, y funciona muy bien, para guardar los datos en la base de datos uso mis propias funciones ya que se ajustan a mi propia estructura de base de datos.

Prueba a hacer tu propia función para guardar la ruta y el nombre del archivo subidos como corresponda a tu sistema, no se como funciona la parte de guardar en base de datos de XelUpload.

Una cosa: al guardar la ruta en la bd ten en cuenta si usas path absoluto o relativo y desde que páginas se va a leer esa ruta,, ya q si lees la ruta desde páginas de diferentes directorios no te serviría un path relativo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:52.