Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/02/2011, 17:06
fred_speedy
 
Fecha de Ingreso: abril-2007
Mensajes: 2
Antigüedad: 17 años, 11 meses
Puntos: 0
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 Ver Mensaje
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>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><a href="principal.asp" class="texto"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Volver</font></a></p>
<p>&nbsp; </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!