| ||||
Yo realicé esto hace un tiempo atrás. Te recomiendo que leas el artículo "Subir ficheros al servidor con xelUpload". Te muestra de una manera muy sencilla cómo lograr tu objetivo. Luego realiza un procedimiento sencillo para "capturar" el nombre de tu archivo y guardarlo a la db. Envíame un e-mail o un mensaje privado para que pueda ayudarte, no re respondo correctamente ahora porque no tengo los archivos aquí. Saludos!
__________________ ********************************* Gustavo Arriola http://www.gustavoarriola.com ********************************* |
| ||||
Aquí tengo el código que utilicé yo. Ojalá te sirva. Cuéntanos cómo te fue... Saludos!!! ***********************inicio del archivo*************************** <% 'subirarchivo.asp %> <% Response.Buffer = TRUE %> <!--#include file="xelupload.asp"--> <html> <head> <title>.::Archivo copiado::.</title> <link rel=Stylesheet type="text/css" href="style.css" title="Estilo"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body bgproperties="fixed" background="image/fondo.gif"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <% Dim oConn, rs, SQL Dim objUpload, objFich, str_archivo, str_descripcion, tamFile Dim maxtam, strNombreArchivo, str_destino 'Tamaño máximo del archivo maxtam = 5120 * 1024 set objUpload = new xelUpload objUpload.Upload() ' Recupero los campos archivo, descripcion y destino del formulario str_archivo = objUpload.Form("file") str_descripcion = objUpload.Form("txt_descripcion") str_destino = objUpload.Form("cmb_destino") 'si no ha subido ningn archivo, le avisamos if objUpload.Ficheros.Count = 0 then Response.Write("No has subido ningn archivo!") else 'accedo al archivo por su nombre en el formulario set objFich = objUpload.Ficheros("file") if objFich.Tamano <= maxtam then 'Es el archivo correcto, voy a guardarlo en el directorio files... objFich.Guardar Server.MapPath("files/" & str_destino) 'Ahora me conecto a la base de datos set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") 'Me conecto con ODBC sin DSN, la base 'de datos (que tiene contraseña) está en el directorio bd... oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; PWD=d4s58a4d8d; " _ & "DBQ=" & Server.MapPath("db/files.mdb") SQL = "SELECT * FROM tbl_archivos" 'Abro el Recordset: el 0 es el cursor adForwardOnly ' y el 2 es el cerrojo adLockPessimistic rs.Open SQL, oConn, 0, 2 'Añado un nuevo registro rs.AddNew rs.Fields("NombreArchivo") = objFich.Nombre rs.Fields("Descripcion") = str_descripcion rs.Fields("Materia") = str_destino rs.Fields("Fecha") = Date tamFile = objFich.Tamano /1024 rs.Fields("Tamano") = tamFile 'Guardo el nuevo registro rs.Update 'Cierro la conexión rs.Close set rs = nothing oConn.Close set oConn = nothing 'Todo correcto! Response.Write "Se ha añadido el nuevo archivo al servidor <b>" & strNombre & "</b>, " _ & "con el nombre " & objFich.Nombre & " de tamaño " & objFich.Tamano & " bytes." 'Limpio mi xelUpload y el archivo set oFich = nothing set objUpload = nothing else 'No era un archivo válido Response.Write("No es un archivo aceptable. ") Response.Write("Tiene que ser un archivo de menos de 5 MB.") end if end if %> </font> </p> <p> </p> <p> </p> <p align="center"><a href="principal.asp" class="texto"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Volver</font></a></p> <p> </p> </body> </html> *******************fin del archivo*************************** Lo que quería era que (además de guardar el nombre del archivo) necesitaba saber en qué directorio se encontraba, esto lo logré guardando el nombre del directorio en la db (str_destino), además de una descripción del archivo! Saludos!
__________________ ********************************* Gustavo Arriola http://www.gustavoarriola.com ********************************* |
| ||||
Gracias Hola Gustavo, gracias por tu colaboracion, pero espero o ser muy aprovechado si te pido los archivos que se necesitan.. mi correo es [email protected] es ke al pasarlos al editor, aparecen simbolos raros y se descuadra todo... Gracias de nuevo! ![]()
__________________ "No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo." ( Voltaire ) Última edición por Gadoki; 24/06/2004 a las 14:30 |
| |||
Respuesta: Subir archivos y actualizar tabla de datos Consulta como puedo hacer si al momento de subir un archivo se guarde o almacene en dos carpetas diferentes por decir se grabe en d:\archivos y tambien se grabe en f:\backup_archivos Cita:
Iniciado por GustavoPY ![]() Aquí tengo el código que utilicé yo. Ojalá te sirva. Cuéntanos cómo te fue... Saludos!!! ***********************inicio del archivo*************************** <% 'subirarchivo.asp %> <% Response.Buffer = TRUE %> <!--#include file="xelupload.asp"--> <html> <head> <title>.::Archivo copiado::.</title> <link rel=Stylesheet type="text/css" href="style.css" title="Estilo"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head> <body bgproperties="fixed" background="image/fondo.gif"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <% Dim oConn, rs, SQL Dim objUpload, objFich, str_archivo, str_descripcion, tamFile Dim maxtam, strNombreArchivo, str_destino 'Tamaño máximo del archivo maxtam = 5120 * 1024 set objUpload = new xelUpload objUpload.Upload() ' Recupero los campos archivo, descripcion y destino del formulario str_archivo = objUpload.Form("file") str_descripcion = objUpload.Form("txt_descripcion") str_destino = objUpload.Form("cmb_destino") 'si no ha subido ningn archivo, le avisamos if objUpload.Ficheros.Count = 0 then Response.Write("No has subido ningn archivo!") else 'accedo al archivo por su nombre en el formulario set objFich = objUpload.Ficheros("file") if objFich.Tamano <= maxtam then 'Es el archivo correcto, voy a guardarlo en el directorio files... objFich.Guardar Server.MapPath("files/" & str_destino) 'Ahora me conecto a la base de datos set oConn = Server.CreateObject("ADODB.Connection") set rs = Server.CreateObject("ADODB.Recordset") 'Me conecto con ODBC sin DSN, la base 'de datos (que tiene contraseña) está en el directorio bd... oConn.Open "Driver={Microsoft Access Driver (*.mdb)}; PWD=d4s58a4d8d; " _ & "DBQ=" & Server.MapPath("db/files.mdb") SQL = "SELECT * FROM tbl_archivos" 'Abro el Recordset: el 0 es el cursor adForwardOnly ' y el 2 es el cerrojo adLockPessimistic rs.Open SQL, oConn, 0, 2 'Añado un nuevo registro rs.AddNew rs.Fields("NombreArchivo") = objFich.Nombre rs.Fields("Descripcion") = str_descripcion rs.Fields("Materia") = str_destino rs.Fields("Fecha") = Date tamFile = objFich.Tamano /1024 rs.Fields("Tamano") = tamFile 'Guardo el nuevo registro rs.Update 'Cierro la conexión rs.Close set rs = nothing oConn.Close set oConn = nothing 'Todo correcto! Response.Write "Se ha añadido el nuevo archivo al servidor <b>" & strNombre & "</b>, " _ & "con el nombre " & objFich.Nombre & " de tamaño " & objFich.Tamano & " bytes." 'Limpio mi xelUpload y el archivo set oFich = nothing set objUpload = nothing else 'No era un archivo válido Response.Write("No es un archivo aceptable. ") Response.Write("Tiene que ser un archivo de menos de 5 MB.") end if end if %> </font> </p> <p> </p> <p> </p> <p align="center"><a href="principal.asp" class="texto"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Volver</font></a></p> <p> </p> </body> </html> *******************fin del archivo*************************** Lo que quería era que (además de guardar el nombre del archivo) necesitaba saber en qué directorio se encontraba, esto lo logré guardando el nombre del directorio en la db (str_destino), además de una descripción del archivo! Saludos! |
| ||||
Respuesta: Subir archivos y actualizar tabla de datos Grábalo y luego cópialo con FSO Por cierto, no revivas temas viejos con información que no contribuya a la solución del mismo saludos |