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

FSO y recordset

Estas en el tema de FSO y recordset en el foro de ASP Clásico en Foros del Web. Estoy usando el FSO para borrar la imagen vinculada con un registro. Intento esto pero me da error, como pongo correctamente la variable con el ...
  #1 (permalink)  
Antiguo 30/01/2003, 17:09
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
FSO y recordset

Estoy usando el FSO para borrar la imagen vinculada con un registro.
Intento esto pero me da error, como pongo correctamente la variable con el nombre del fichero?.

foto1=response.write(rs("foto1"))
set FSO = Server.CreateObject("Scripting.FileSystemObject")
set oFich = FSO.deletefile (Server.MapPath("../ofertas/images/& foto1"))
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #2 (permalink)  
Antiguo 30/01/2003, 22:10
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
set oFich = FSO.deletefile (Server.MapPath("../ofertas/images/"& foto1))

Saludos
  #3 (permalink)  
Antiguo 31/01/2003, 03:28
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Pues asi ya lo habia probado pero me da este error y no es que la variable foto1 este vacia.
foto1=response.write(rs("foto1"))
set FSO = Server.CreateObject("Scripting.FileSystemObject")
set oFich = FSO.deletefile (Server.MapPath("../ofertas/images/" & foto1))

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: 'FSO.deletefile(...)'
/delete.asp, línea 37

PERO con una constante asi, si que funciona ......................
foto1="xxx.jpg"
set FSO = Server.CreateObject("Scripting.FileSystemObject")
set oFich = FSO.deletefile (Server.MapPath("../ofertas/images/" & foto1))

¿por que?
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net

Última edición por maestro; 31/01/2003 a las 03:33
  #4 (permalink)  
Antiguo 31/01/2003, 04:35
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años
Puntos: 2
hola maestro!

seria asi:

foto1 = rs("foto1")
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
oFSO.DeleteFile(Server.MapPath("../ofertas/images/" & foto1))

Otra forma de hacerlo seria:

foto1 = rs("foto1")
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.GetFile(Server.MapPath("../ofertas/images/" & foto1))
oFile.Delete

Funcionan seguro!

Suerte y saludos desde La Rioja, Argentina.
__________________
Sergio
  #5 (permalink)  
Antiguo 31/01/2003, 06:42
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 22 años, 4 meses
Puntos: 1
Ya he dado con la solucion, con response.write no me funciona, seria asi:

<%
on error resume next
set FSO = Server.CreateObject("Scripting.FileSystemObject")
set oFich = FSO.deletefile (Server.MapPath("../ofertas/images/" & rs("foto1")))
%>

He puesto lo del resume next porque si no me da un mensaje de error, aunque funciona y me borra el archivo tambien da este error:
Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: 'FSO.deletefile(...)'

Pero por lo menos lo mas importante ya esta solucionado.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #6 (permalink)  
Antiguo 31/01/2003, 12:02
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años
Puntos: 2
El error sucede ya que el método "DeleteFile" del objeto FileSystemObject no devuelve datos y vos estas queriendo eso.
Funciona igual ya que ejecuta el procedimiento.

La forma correcta de utilizarlo seria como te he detallado anteriormente.

Tan solo quise ayudarte.

Hasta pronto!
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:57.