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

Borrar archivo temporal (aspupload)

Estas en el tema de Borrar archivo temporal (aspupload) en el foro de ASP Clásico en Foros del Web. Hola a todos: Tengo un formulario con datos planos y dos ficheros a subir (asoupload). Primero subo los ficheros al servidor (como cuando mandas un ...
  #1 (permalink)  
Antiguo 04/06/2004, 02:51
 
Fecha de Ingreso: febrero-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 0
Exclamación Borrar archivo temporal (aspupload)

Hola a todos:

Tengo un formulario con datos planos y dos ficheros a subir (asoupload).

Primero subo los ficheros al servidor (como cuando mandas un correo y adjuntas los datos) y despues me voy a la pantalla del formulario con el fichero ya subido a la espera de que el usuario le de a ACEPTAR, para guardar los datos en la base de datos.

La pregunta es: ¿y si una vez subidos los ficheros el usuario no le da a ACEPTAR, o se le corta la conexion, o vete su a saber...? osea que no le da a ACEPTAR... ¿¿¿me quedo con los ficheros subidos en el servidor ??? ¿¿¿basura en mi espacio web ??? ¿¿¿como hago para borrarlos si no se termina el proceso ???


GRACIAS A TODOS
  #2 (permalink)  
Antiguo 04/06/2004, 12:17
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Puedes programar un proceso en el servidor que se ejecute todos los días (o cada vez que consideres necesario) y que te borre los archivos que tengan fecha de más de una hora (por ejemplo) creados.
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 04/06/2004, 14:41
Avatar de tuning_boy  
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 45
Antigüedad: 20 años
Puntos: 0
Coincido con Avelar, creo que la unica opcion es que programes un demonio que te limpie el directorio cuando creas conveniente, controlando la fecha claro.
__________________
Si te gusta el tuning ...
http://www.comunidad-tuning.com
  #4 (permalink)  
Antiguo 05/06/2004, 09:36
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
Otra forma de hacerlo (y creo que es la más eficiente) es que cuando subas las imágenes temporales al directorio TEMP, grabes la información del archivo en una tabla de la BBDD, que se podría llamar por ejemplo "img_temp". En ella grabas la fecha que se subió el archivo. Si el usuario ACEPTA las imágenes, borras la información de esa tabla y la grabas en la tabla final, y en caso contrario, cada vez que alguien quiera subir imágenes otra vez, antes de que el script haga nada, mire los registros que hay en la tabla "img_temp"; y si la fecha que hay dento es superior a una cantidad de días predefeinidos (nose, 24 horas, por ejemplo) que borre ese registro, y de paso que borre el fichero del directorio.

No se si me explico con claridad, pero para que te hagas una idea, sería hacer como una lista de E-mailing... primero el ususario se registra y se añaden los datos de ese usuario a una tabla temporal. El usuario recibe un email de confoirmación, si hace click en ese enlace, los datos pasan de la tabla temporal a la definitiva, y en caso de que el usuario no haga click en ese enlace (el e-mail introducido no es correcto, no es el suyo o simplemente no le interese formalizar el alta), cada vez que un usuario intente darse de alta, el sistema antes de hacer nada borrará todos aquellos registros de la tabla temporal que no hayan confirmado el alta en un tiempo inferior a un mes (por decir una fecha)

Un saludo
  #5 (permalink)  
Antiguo 05/06/2004, 11:01
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
Podría ser, pero tardaría un poco más el proceso mas no es mala la idea.
__________________
Ariel Avelar
  #6 (permalink)  
Antiguo 05/06/2004, 13:49
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Yo lo hago con FSO.
Al subir un archivo (en realidad no se suben, son TXT's que genera el código) reviso el directorio temporal y recorro todos los archivos verificando su fecha. Si el archivo tiene más de 24 horas desde que fue creado, lo elimino.
  #7 (permalink)  
Antiguo 05/06/2004, 13:58
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
Dazuaga, no te acabo de entender, dices que son TXT's que genera el código en el servidor ? y si el usuario ACEPTA posteriormente de haber enviado el formulario, como "recuperas" de nuevo esos archivos ?

Es decir, por lo que comenta F_Murciano, el usuario introduce en el formulario datos de texto junto con 2 archivos, éstos se suben al servidor, y la página que ha recuperado esos datos,el usuario tiene la opción de ACEPTAR/CONFIRMAR la operación (vamos, yo lo entiendo como un: ESTÁS SEGURO?) y en caso de que lo confirme, introduce los datos de la imagen (url, tamaño, fecha, o lo que sea) en la BBDD's.

Ahora bien, el problema que el sugería (vamos, como lo entiendo yo) es si el usuario en la pantalla de CONFIRMACIÓN (y una vez los archivos ya están en el servidor), cierre el navegador, o cambie de página, etc. Esos archivos estarían en el servidor para siempre, o deberían de ser borrados manualmente por el adminsitrador (ya sea por FTP, Script, u otros métodos)

Por lo que comentas, no entiendo entonces lo de los TXT's, a ver si lo puedes ampliar un poco más, gracias ;)

Un Saludo

Última edición por LeCLUB; 05/06/2004 a las 14:05
  #8 (permalink)  
Antiguo 07/06/2004, 01:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias por las respuestas... pero...

Gracias a todo el mundo por responderme, pero, segun lo que me indicais el proceso de actualización del directorio temporal sería cuando otro usuario entrara y subiera fichero no?... y si no se entra hasta las dos semanas posteriores???... me quedo con posibles ficheros temporales en mi directorio 2 semanas???

Alguien habló de programar un demonio o algo así que se ejecutara solo cada día por ejemplo... podeis profundizar un poco en el tema???


¡¡¡GRACIAS NUEVAMENTE A TODOS!!!
  #9 (permalink)  
Antiguo 07/06/2004, 02:17
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 21 años, 1 mes
Puntos: 1
Hombre Murciano, pìensa un poco... si la página de subir focheros es la encargada de realizar esa comprobación, tambien se podría hacer sobre cualquier página no ?

Es decir, para qué esperarte a que un usuario quiera subir ficheros para borrar los archivos temporales que se hayan dejado ahí sin confirmar, pues metes el código dentro de cualquier página (la home, registro, etc etc, vamos en la que quieras), así cada vez que se cargue esa página se realizará la verificación.

De todas formas, no creo que vayas a tener gran cantidad de archivos subidos... me explicaré.. si tu código de verificación es de 24h, es decir, que si en 24 horas no han verificado que se borren los archivos, como MUCHO tendrás todos los archivos que la gente haya subido en las últimas 24h, y que NO las hayan ACEPTADO/CONFIRMADO, o sea, una minoría, que tarde o temprano acabarán "cayendo" bajo las garras del script xDDDD

Si aún así te da miedo, pues facil, baja el tiempo del script en la confirmación en vez de 24h a 1h, y listos, ves que facil ? xDDDD

Enga, un saludo
  #10 (permalink)  
Antiguo 07/06/2004, 03:12
 
Fecha de Ingreso: febrero-2004
Mensajes: 157
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias tio...

Tienes razon Leclub... (tengo que pararme un poco mas a pensar ) haré lo que dices, creo que es la mejor opcion.


GRACIAAAAAAAAAAAAS!!!!
  #11 (permalink)  
Antiguo 07/06/2004, 10:38
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
LeCLUB, me refería exactamente a lo que están hablando. Los archivos temporales se borran 24hs después que fueron creados y ante la próxima ejecución del mismo script que los crea. Y justo en este momento tengo en ese directorio temporal unos 9 archivos de hace más de un mes (se ve que no se usa mucho esa aplicación :D) pero no molestan... cada archivo tiene unos pocos KB y la próxima vez que se use se eliminar´n.
  #12 (permalink)  
Antiguo 07/06/2004, 13:35
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
Iniciado por f_murciano
Alguien habló de programar un demonio o algo así que se ejecutara solo cada día por ejemplo... podeis profundizar un poco en el tema???
Un demonio es un término que se usa en Unix para referirse a un proceso de sistema que arranca automáticamente y realiza tareas de manera programada.

Quien te hizo referencia a él seguramente se refería a definir una tarea programada en SQLServer.
Esto es el el Servidor -> Administración -> Trabajos.

Ahí podrías definir que código (TransactSQL) quieres que se ejecute cada cierto tiempo de manera automática y sin importar si tu Web ha sido visitada o no. Mientras el servidor de BD este levantado esta tarea se ejecutará. No se si se pueda invocar a un script en otro lenguaje, pero sería bueno investigar .

saludos

Saludos
  #13 (permalink)  
Antiguo 07/06/2004, 15:48
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 7 meses
Puntos: 1
En SQL Server el mentado demonio se llama Job y además de ejecutar código Transact SQL también se puede invocar Scripts ActiveX y comandos del sistema operativo entre otros que ahorita no recuerdo.

Pero también Windows te da la posibilidad de programar la ejecución de tareas, y desde ahí puedes llamar también ejecución de programas, que se corra alguna página, la ejecución de algún .bat que elimine del directorio aschivos, etc.
__________________
Ariel Avelar
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:31.