
20/06/2008, 09:35
|
| | Fecha de Ingreso: mayo-2008
Mensajes: 77
Antigüedad: 16 años, 11 meses Puntos: 0 | |
Respuesta: problema con Post.Upload siento la tardanza e estado muy liado con un "problemilla" recuerda lo que voy a pegar es el aspupload lo puedes buscar en google, lo modifique para renombrar archivos y que no se pisen si se llaman igual.
<%
option explicit
Response.Expires = -1
Server.ScriptTimeout = 600
%>
<!-- #include file="freeaspupload.asp" -->
<!--#include file="Conexion/bd_pinar.asp" -->
<%
' ************************************************** **
' Cambiar el valor de la siguiente variable
' para indicar el directorio de destino.
' El directorio indicado debe tener permisos de escritura
' de caso contrario el script fallará mostrando un error.
Dim uploadsDirVar
uploadsDirVar = Server.MapPath("../fotos")
' ************************************************** **
dim temporal
function SaveFiles
Dim Upload, fileName, fileSize, ks, i, fileKey, resumen
Set Upload = New FreeASPUpload
Upload.Save(uploadsDirVar)
' If something fails inside the script, but the exception is handled
If Err.Number <> 0 then Exit function
SaveFiles = ""
ks = Upload.UploadedFiles.keys
if (UBound(ks) <> -1) then
resumen = "<B>Archivo subido:</B> "
for each fileKey in Upload.UploadedFiles.keys
resumen = resumen & Upload.UploadedFiles(fileKey).FileName & " (" & Upload.UploadedFiles(fileKey).Length & "B) "
temporal = Upload.UploadedFiles(fileKey).FileName
next
else
resumen = "El nombre del archivo especificado en el formulario no es valido en el sistema."
end if
'comentar la siguiente linea si no se desea mostrar el resumen
SaveFiles = resumen
dim rst
dim Cnn
dim codigo
Set Cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
rst.ActiveConnection = conexion
rst.source = "SELECT * FROM inmueble ORDER BY codigo DESC"
rst.CursorType = 0
rst.CursorLocation = 3
rst.LockType = 3
rst.Open()
cnn.Open= conexion
codigo = (rst.Fields.Item("codigo").Value)
response.Write(codigo)
'Declaracion de variables
Dim FSO, Fich , NombreAnterior, NombreNuevo
'Inicialización
NombreAnterior = temporal
NombreNuevo =cstr(codigo) &"_" &temporal
temporal = NombreNuevo
response.Write(temporal)
' Instanciamos el objeto
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
' Asignamos el fichero a renombrar a la variable fich
Set Fich = FSO.GetFile(Server.MapPath("../fotos/" & NombreAnterior))
' llamamos a la funcion copiar,
'y duplicamos el archivo pero con otro nombre
Call Fich.Copy(Server.MapPath("../fotos/" & NombreNuevo))
' finalmente borramos el fichero original
Call Fich.Delete()
Set Fich = Nothing
Set FSO = Nothing
end function
%>
<HTML>
<HEAD>
<TITLE>Test Free ASP Upload</TITLE>
</HEAD>
<BODY>
<br>
<div style="border-bottom: #A91905 2px solid;font-size:16">Subir archivos</div>
<div style='margin-left:150'>
<form name="frmSend" method="POST" enctype="multipart/form-data" action="pruebaupload.asp">
Logotipo: <input name="attach1" type="file" size="35"><br>
<br>
<input type=submit value="Subir">
</form>
<BR></div>
<%
dim imag
dim con2
dim sql2
dim rs
'solo llamo al UPLOAD si hay envio de formulario
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
'Hace el upload de los archivos enviados y muestra el resumen
response.write SaveFiles()
'creamos un recorset para recuperar la PK de la ultima insercion para colocar el archivo de la imagen en su sitio
dim cnn2
dim rst2
dim codigo2
Set Cnn2 = Server.CreateObject("ADODB.Connection")
set rst2 = Server.CreateObject("ADODB.RecordSet")
rst2.ActiveConnection = conexion
rst2.source = "SELECT codigo FROM inmueble ORDER BY codigo DESC"
rst2.CursorType = 0
rst2.CursorLocation = 3
rst2.LockType = 3
rst2.Open()
cnn2.Open= conexion
codigo2 = (rst2.Fields.Item("codigo").Value)
rst2.close
set rst2= nothing
'a la varibale imagen le concatenamos la ruta donde se copiaran las fotos
imag = "./fotos/" & temporal
dim Con3
Set Con3 = Server.CreateObject("ADODB.Connection")
con3.Open conexion
'actualizamos con un update la tabla centros
sql2="update inmueble set foto= '"&imag&"' where codigo = '"&cstr(codigo2)&"' "
set rs=con3.execute(sql2)
'response.Redirect("PruebaUpload.asp")
con3.close
set rs = nothing
response.Redirect("../index.html")
end if
%>
</BODY>
</HTML> fiate en el que las opciones explicitas estan declaradas y en los casting a las variables
Última edición por loverpiu; 20/06/2008 a las 10:14 |