Comprovar si existe el archivo en el servidor

05/12/2003 - 19:02 por Xus | Informe spam
Cuando haceis un upload, como comprovais que no exista un archivo con el
mismo nombre?

(y evitar así sobreescrituras)


Saludos y gracias.

Preguntas similare

Leer las respuestas

#6 Xus
13/12/2003 - 19:41 | Informe spam
Gracias Dani, muy amable!


Saludos.


"danicastillo" ha escrit en el
missatge dels grups de discussió:eQ$
lo insertas primero, acto seguido haces un movelast del recordset (o un
select max(id) ) y ya lo tienes, el dato de la tabla lo puedes insertar
antes de guardar el archivo (ya q lo guardas con el id) , al sacar el
max(id) guardas el archivo ;)

eso "podria fallar" solo en el acaso de accesos realmente simultaneos (dos
clientes guardan exactamente en el mismo milisegundo... ufs!) a malas


puedes
usar recodsets bloqueados, pero vamos, no es precisamente facil q


coincidan
asi dos escrituras jeje

haz eso, guarda el registro y saca el maximo del id


-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"Xus" escribió en el mensaje
news:
> No es mala idea esto del autonumérico!
>
> de echo es MUY BUENA idea.
>
> Eso si, como se el campo del autnumérico si todavía no he echo el


insert?
> (teniendo en cuenta que en una web pueden haver muchos inserts en poco
> tiempo, no se si vale coger el max()+1)
>
>
> Saludos y gracias de nuevo!
>
> "danicastillo" ha escrit en el
> missatge dels grups de


discussió:
> > Enas Xus
> >
> > bueno podrias hacerlo con filesystemobject y fileexist
> > Dim objFileSystem
> > Set objFileSystem = CreateObject("Scripting.FileSystemObject")
> > if


objFileSystem.FileExists(Server.MapPath("ficheroconsupathrelativo"))
> > ...
> > else
> > ...
> > end if
> >
> > de todas formas supongo que cuando subes un archivo al server, lo
apuntas
> en
> > una tabla de la bbdd ¿no?, si es asi puedes directamente guardar el
> archivo
> > con
> > nombretabla\idautonumericodelabbdd+nombredelarchivo
> >
> > asi nunca sobreescribiras (a no ser q machaques un registro de la


bbdd)
> >
> > esa es una opcion
> > la otra , es "ir probando" nombres
> >
> > algo como
> > set fso=CreateObject("Scripting.FileSystemObject")
> > c="\upload\" ' nombre de la carpeta
> > f= "nombredelfichero" ' pasado por el aspsmartupload
> > forigen=f ' copia
> > k=0
> > do while fso.FileExists(Server.MapPath(c+f))
> > k=k+1
> > f=k+forigen
> > loop
> > ' va añadiendo numeros hasta q encuentra un "hueco"
> > fso.close
> > set fso=nothing
> > ' en f tenemos el nombre final
> >
> > es algo "lento" y para muchos archivos de igual nombre quiza en lugar


de
> > secuencial la k, convendria ponerla aleatoria, en lugar de k=k+1 un
> > k=int(rnd*10000) por ejemplo (con un randomize antes del bucle claro)


,
> > pero vamos en un sistema real no suelen existir muchos archivos con el
> mismo
> > nombre =)
> >
> >
> > -o|o|--
> > -o|o| dani castillo
> > -o|o| http://www15.brinkster.com/danic/
> > -o|o| tutorial y trucos asp, vb, diseño
> > -o|o|--
> > "Xus" escribió en el mensaje
> > news:
> > > Cuando haceis un upload, como comprovais que no exista un archivo


con
el
> > > mismo nombre?
> > >
> > > (y evitar así sobreescrituras)
> > >
> > >
> > > Saludos y gracias.
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida