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

Subir archivo y renombra con nombre aleatorio

Estas en el tema de Subir archivo y renombra con nombre aleatorio en el foro de ASP Clásico en Foros del Web. Hola como andan, he estado viendo mucho por internet, sobre como subir un archivo al servidor y poder renombrarlo con un nombre aleatorio, para que ...
  #1 (permalink)  
Antiguo 31/08/2009, 13:44
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 19 años, 5 meses
Puntos: 11
Subir archivo y renombra con nombre aleatorio

Hola como andan, he estado viendo mucho por internet, sobre como subir un archivo al servidor y poder renombrarlo con un nombre aleatorio, para que no se pise algun otro archivo que pueda tener el mismo nombre. Hay muchisimo en internet sobre como subir archivos con asp pero no logro encontrar la forma de que al subir un archivo le cambie el nombre aleatoriamente. Bueno espero que me puedan ayudar. Gracias.
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
  #2 (permalink)  
Antiguo 31/08/2009, 14:02
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Subir archivo y renombra con nombre aleatorio

Hola

Yo solo he usado freeaspupload. Si te lo descargas, después podré darte indicaciones

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 31/08/2009, 14:19
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Respuesta: Subir archivo y renombra con nombre aleatorio

Otra es que tu generes el nombre del archivo de forma aleatoria, puedes obtener generar un código con SQL -select top 1 ID() from ...- , o haciendo un Int((90-65+1)*Rnd+65 a un vector de letras mayúsculas tantas veces como sean necesarias hasta no encontrar ese nombre de archivo en el directorio.
  #4 (permalink)  
Antiguo 31/08/2009, 16:06
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 21 años
Puntos: 4
Re: Subir archivo y renombra con nombre aleatorio

Lo que yo hago hago es renombrar el archivo usando un identificador global NEWID() desde el SQL server.
  #5 (permalink)  
Antiguo 31/08/2009, 17:45
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 19 años, 5 meses
Puntos: 11
Respuesta: Subir archivo y renombra con nombre aleatorio

Hola, gracias a todos por contestar. Emm... a ver, voy a seguir con las indicaciones de Adler, si, a freeaspupload lo tengo, estube haciendo pruebas justamente con ese ejemplo pero no logre lo que queria, asi que bueno....estaria agradecido que me puedas indicar como proseguir.
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
  #6 (permalink)  
Antiguo 31/08/2009, 19:57
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
Respuesta: Subir archivo y renombra con nombre aleatorio

Bueno este codigo es usando el XELUPLOAD.asp

El archivo ZIP lo puedes descargar AQUI

Código ASP:
Ver original
  1. Server.ScriptTimeout = 1440
  2.  
  3. Function GenerarPassword(largo)
  4.     Dim Resultado, Caracter, Password
  5.  
  6.     caracter = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z")
  7.    
  8.     Randomize()
  9.     Do While Len(Resultado) < largo
  10.         Resultado = Resultado & Caracter(Int(36 * Rnd()))
  11.     Loop
  12.     GenerarPassword = Resultado
  13. End Function
  14.  
  15. Dim objUpload, objFich, strNombre
  16. Dim maxtam, strNombreFichero
  17.  
  18. maxtam = 10300000
  19.  
  20. set objUpload = new xelUpload
  21. objUpload.Upload()
  22.  
  23.     usuario = objUpload.Form("usuario")
  24.  
  25. if objUpload.Ficheros.Count <> 0 then
  26.  
  27.     set objFich = objUpload.Ficheros("Archivo")
  28.     tamano=objFich.Tamano
  29.  
  30.     if objFich.Tamano <= maxtam then
  31.    
  32.     folder = "/archivos/"
  33.     ext=split(objFich.Nombre,".")
  34.     extension=ext(1)
  35.  
  36.     Password = GenerarPassword(18) ' ESTO GENERA UNA CADENA DE 18 CARACTERES ALEATORIOS, CAMBIANDO EL NUMERO SE CAMBIA LA LONGITUD DE LA CADENA
  37.  
  38.     objFich.GuardarComo session("user") & "-" & Password & "." & extension, Server.MapPath("/") & folder
  39.         'GUARDO EL ARCHIVO CON UN NOMBRE TIPO user-cadenade18caracteres.ext
  40.            
  41.     if not fs.FolderExists(carpeta) then
  42.         fs.CreateFolder carpeta
  43.     End if
  44.    
  45.     set oFich = nothing
  46.     set objUpload = nothing
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO
  #7 (permalink)  
Antiguo 01/09/2009, 05:48
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Subir archivo y renombra con nombre aleatorio

Hola

En el archivo freeaspupload.asp, en la parte inferior encontraras Public Property Get FileName(), aquí es donde podemos renombrar el archivo e incluso su extensión

Código asp:
Ver original
  1. Public Property Get FileName()
  2.         'FileName = nameOfFile
  3. ' Cambia el nombre de la imagen por el nombre del usuario, mantiene la extensión original
  4.         'FileName = escape(session("nombre_usuario")) & lcase(Right(nameOfFile, 4))
  5. ' Cambia el nombre de la imagen por el nombre del usuario y puede que la extensión original
  6.          FileName = escape(session("nombre_usuario")) & ".gif"
  7.     End Property

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 01/09/2009, 20:24
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Subir archivo y renombra con nombre aleatorio

ummm

y si al subir el nombre del archivo le pones la fecha de el upload?

suerte

saludos a todos
__________________
JuanRa Pérez
San Salvador, El Salvador
  #9 (permalink)  
Antiguo 02/09/2009, 11:54
Avatar de elias77  
Fecha de Ingreso: noviembre-2005
Ubicación: Buscame...
Mensajes: 1.051
Antigüedad: 19 años, 5 meses
Puntos: 11
Respuesta: Subir archivo y renombra con nombre aleatorio

Hola juanRAPerez, poner la fecha no me serviria ya que se da la situacion de subir dos archivos con el mismo nombre el mismo dia.... Gracias de todas formas.

Gracias Adler y sjam7 Todavía no probé sus sugerencias ya que no he tenido tiempo. Hoy lo pruebo y les comento. Saludos
__________________
You're face to face, with the man who sold the world - NIRVANA
Diese stadt ist eine Dirne, hat rote flecken auf der Stirn - RAMMSTEIN
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 07:43.