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

Error con XelUpload

Estas en el tema de Error con XelUpload en el foro de ASP Clásico en Foros del Web. Este código está buenísimo verdaderamente, pero hasta ahora no pude ejecutarlo correctamente por que cuando lo hago me tira el siguiente error: Microsoft VBScript runtime ...
  #1 (permalink)  
Antiguo 17/02/2005, 11:42
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 1
Error con XelUpload

Este código está buenísimo verdaderamente, pero hasta ahora no pude ejecutarlo correctamente por que cuando lo hago me tira el siguiente error:

Microsoft VBScript runtime error '800a0046'
Permission denied
/proyecto/admin/xelupload.asp, line 170

Alguien sabe que puede ser?.
__________________
:serio: :adios:
  #2 (permalink)  
Antiguo 17/02/2005, 11:43
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
alomejor no tiens permiss de escritura sobre la carpeta
  #3 (permalink)  
Antiguo 17/02/2005, 11:54
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 1
Si, pero como le doy los permisos. Por que no es Linux, sino 2000, y no permite asignarcelos como Unix por ejemplo.
__________________
:serio: :adios:
  #4 (permalink)  
Antiguo 21/02/2005, 06:18
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 1
Alguien sabe por que pasa esto, por que el servidor me dice que la carpeta tiene todos los permisos dados!
__________________
:serio: :adios:
  #5 (permalink)  
Antiguo 21/02/2005, 06:39
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 1
XelUpload!!!!!!!!!!!

Bueno, ya me estoy enojando con este XelUpload.
El código que tengo en mi página es el siguiente:
Código:
 
Dim oConn, rs, SQL
Dim objUpload, objFich, strNombre, strEdad
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("usuario")
strEdad = objUpload.Form("edad")

'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("imagen")
	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(".")

		'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("usuarios.mdb")
		'SQL = "SELECT * FROM usuarios"
		'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("Nombre") = strNombre
		'rs.Fields("Edad") = strEdad
		'rs.Fields("NombreFichero") = objFich.Nombre

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

		'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
Y al ajecutarlo, me muestra el siguiente error:
Código:
Microsoft VBScript runtime error '800a0046' 

Permission denied 

/proyecto/admin/xelupload.asp, line 170
Esa linea 170 de xelupload tiene lo siguiente:
Código:
 
Public Sub Guardar(ruta)
Dim oFSO, oFich
Dim i

if ruta = "" or Nombre = "" then Exit Sub
if Mid(ruta, Len(ruta)) <> "\" then		'"	
	'añado la ultima barra a la ruta
	ruta = ruta & "\" 						'"
end if

set oFSO = Server.CreateObject("Scripting.FileSystemObject")
if not oFSO.FolderExists(ruta) then Exit Sub
set oFich = oFSO.CreateTextFile(ruta & Nombre, true)

for i = 1 to LenB(Datos)
	oFich.Write Chr(AscB(MidB(Datos, i, 1)))
next 	

oFich.Close
set oFSO = nothing
End Sub
Hablé con el servidor y me dijeron que la carpeta tiene todos los permisos dados y todo. Entonces, QUE PASA???
Hay algo más en el servidor?, algo en el código??, que onda?.
Esto ya me tiene loco, hice 10.000 pruebas y nada funciona.
Les agradecería darme una mano.

Muchas gracias.
__________________
:serio: :adios:

Última edición por hemiliano; 21/02/2005 a las 06:42
  #6 (permalink)  
Antiguo 21/02/2005, 06:54
 
Fecha de Ingreso: abril-2004
Mensajes: 260
Antigüedad: 20 años, 1 mes
Puntos: 1
Bueno, lo logré, modifiqué un poco todo pero lo conseguí.
Este es el código:

Código:
Dim up, fich
set up = new xelUpload
up.Upload()

Response.Write("Número de ficheros subidos: " & up.Ficheros.Count & "<br>")
Response.Flush	
For each fich in up.Ficheros.Items
	fich.Guardar Server.MapPath("upload")
Next

'Limpiamos objeto
set up = nothing
Ahora el problema que encuentro es como subir más de un archivo a la vez.
Pero creo que hay temas que hablan de eso por este foro.
__________________
:serio: :adios:
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 23:17.