| ||||
Para solucionar esos inconvenientes, lo que hago normalmente es siempre renombrar los archivos con el formato AAAAMMDDHHMMSS.ext (año mes dia hora minuto segundo). Es casi imposible que se dupliquen los nombres, pero puede ocurrir. En ese caso, podrías agregarle un número aleatorio entero entre 0 y 100 al final del nombre de archivo y asunto solucionado.
__________________ ...___... |
| ||||
mmmm Al se me ocurre tambien poder anteponerle al nombre de la imagen el id del porgucto asi jamas se me repetirian.... pero como podria hacerlo sin tener que llamar a una lectura de todos mis registros.... osea mi idea es esta
Código:
pero mi duda es como detecto el id tendria que hacer una consulta anterior y en el fondo poner en vez de id, id+1????... pero como quedaria la centencia sql???... como puedo hacer una centencia de lectura que devuelva el valor del id del ultimo registro slamente???... saludos producto_sql="Insert Into productos (categoria,imagen,marca,modelo,descripcion,precio) values (" & categoria & ",'" & id & "-" & objFich.Nombre & "','" & marca & "','" & modelo & "','" & descripcion & "'," & precio & ")"
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
podrias darme un ejemplo que no entendi bien lo que me dices.... gracias
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
otra opción sería añadir el ID de la sesión de la persona que sube el fichero al nombre. Eso sería un nombre de fichero único (hasta que el mismo usuario suba en la misma sesión el mismo fichero, claro. Pero dado este caso, me imagino que lo que él querría sería machacar la versión anterior, con lo que el problema lo tendrías resuelto) |
| ||||
Oye Al Zuwaga... ...me podrías explicar en que caso se daría la repetición de AAAAMMDDHHMMSS???...es que yo creo que es imposible que nunca se dé ese caso de repetición... ...yo uso ese sistema muy a menudo precisamente porque creo que es imposible... ...si me demuestras lo contrario, te lo agradecería, y empezaría a plantearme el buscar otro sistema... ...gracias por adelantado!...
__________________ ==================== Codify ==================== |
| ||||
Exacto, es difícil que ocurra pero no imposible. Bah, difícil si tenés poca concurrencia. Pero cuanto mayor sea el número de usuarios conectados que estén subiendo archivos, mayor es la ptobabilidad de que existan duplicados.
__________________ ...___... |
| ||||
hola a todos... ami se me ocurrio antemonerle al nombre del archivo el id del registro, por lo que antes de agregar el registro o subir el archivo puse esto: id = conn.Execute("SELECT MAX(id_producto) As MaxId FROM productos") id = id("MaxId")+1 ahora mi duda es donde tengo que medificar para que el archivo se suba efectivamente con el id+nombre???... les dejo el codigo de mi pag
Código:
se que es mucho pero porfavor si se pueden hacer de un tiempito para ver dode tengo que modificar para hacer lo que quiero... bueno saludos y gracias <script> window.opener.location.reload(); </script> <!--#include file="xelupload.asp"--> <% Dim Conn Dim rs Dim id Dim producto_sql Dim categoria_sql Dim objUpload Dim objFich Dim maxtam Dim categoria Dim imagen Dim marca Dim modelo Dim descripcion Dim precio 'nuestro tamaño máximo maxtam = 512 * 1024 set objUpload = new xelUpload objUpload.Upload() 'recuperamos los campos usuario y edad categoria = objUpload.Form("categoria") marca = objUpload.Form("marca") modelo = objUpload.Form("modelo") descripcion = objUpload.Form("descripcion") precio = objUpload.Form("precio") 'si no ha subido ningún fichero, le avisamos if objUpload.Ficheros.Count = 0 then Response.Write("¡No has subido ningún fichero!") else 'Establecemos la conección a la base de datos Set conn = Server.CreateObject("ADODB.Connection") conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../catalogo.mdb")) id = conn.Execute("SELECT MAX(id_producto) As MaxId FROM productos") id = id("MaxId")+1 'accedemos al fichero por su nombre en el formulario set objFich = objUpload.Ficheros("imagen") if objFich.Tamano <= maxtam and (objFich.TipoContenido = "image/gif" Or objFich.TipoContenido = "image/pjpeg")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("../imagenes") 'Ahora, en el directorio upload, con la fecha de hoy como nombre strNombreFichero = Day(Date) & Month(Date) & Year(Date) objFich.GuardarComo imagen, Server.MapPath("upload") 'Creación de la sentencia SQL correspondiente producto_sql="Insert Into productos (categoria,imagen,marca,modelo,descripcion,precio) values (" & categoria & ",'" & objFich.Nombre & "','" & marca & "','" & modelo & "','" & descripcion & "'," & precio & ")" 'Ejecución de la orden Set rs = Conn.Execute(producto_sql) 'Creación de la sentencia SQL correspondiente categoria_sql="Select * From categorias Where id_categoria = " & categoria & "" 'Ejecución de la orden Set rs = Conn.Execute(categoria_sql) 'Se resta 1 al numero de productos de la categoría total_productos = rs("total_productos") total_productos = total_productos + 1 'Creación de la sentencia SQL correspondiente categoria_sql="Update categorias Set total_productos = " & total_productos & " Where id_categoria = " & categoria & "" 'Ejecución de la orden Set rs = Conn.Execute(categoria_sql) '¡Todo correcto! Response.Write "Se ha agregado el producto <b>" & marca & ":" & modelo & "</b>, " _ & "con la imagen " & 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("El archivo seleccionado no es aceptado. ") Response.Write("Tiene que ser una imagen (GIF o JPG) de menos de 500k.") end if end if %>
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
por favor ayuda... he tratado de modificar infinitas veces estas lineas que creo que son las indicadas pero no tengo sesultados 'Primero, en nuestro directorio actual con el nombre que tiene objFich.Guardar Server.MapPath("../imagenes") 'Ahora, en el directorio upload, con la fecha de hoy como nombre strNombreFichero = Day(Date) & Month(Date) & Year(Date) objFich.GuardarComo imagen, Server.MapPath("upload") donde tengo que modificar para poder poner en vez del nombre el id+nombre???? o es en el archivo xelupload.asp??? si es asi podrian citar la linea de código... porfavor que me urje bastante tener el script que estoy haciendo para el miercoles... es un trabajo para la universidad... saludos y gracias
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
cambiar nombre a archivo subido con xelupload Hola amigos... vi un codigo que sube las imagenes como fecha y hora que creo que hiso Al
Código:
Bueno la cosa es que he tratado de modificar estas lineas para guardar el archivo por id+nombre... logicamente la imagen forma parte de un registro en mi base de datos... para ello hice esto:imagen = Split(objFich.Nombre, ".") Extension = imagen(Ubound(imagen)) strNombreFichero = Year(Now()) & Month(Now()) & Day(Now()) & Hour(Now()) & Minute(Now()) & Second(Now()) & "." & Extension objFich.GuardarComo strNombreFichero, Server.MapPath("../artistas")
Código:
Ahora mi duda es como puedo hacer para cambiar los datos de la fecha por los del id y el nombre original???.... saludos id = conn.Execute("SELECT MAX(id_producto) As MaxId FROM productos") id = id("MaxId")+1
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |
| ||||
Yo creo que sería acá: 'Ahora, en el directorio upload, con la fecha de hoy como nombre strNombreFichero = id & nombre objFich.GuardarComo strNombreFichero, Server.MapPath("upload")
__________________ ...___... |
| ||||
gracias Al me quedo asi: nombre = objFich.Nombre strNombreFichero = id & nombre objFich.GuardarComo strNombreFichero, Server.MapPath("../imagenes")
__________________ Haz la guerra en la cama y el amor donde se te de la gana... El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!! |