Ver Mensaje Individual
  #5 (permalink)  
Antiguo 08/03/2007, 13:55
gustavowd
 
Fecha de Ingreso: febrero-2006
Mensajes: 57
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Upload funciona pero hay que mejoralo

Muchas gracias jonathan.m.a por las respuestas.
te comento que claro como vos decias, el tiempo de formateo depende del tamaño del file, si es un file de 15MB va a tardar bastante en procesar el ASP.

yo puse un limite de 20MB.
y ahora estoy haciendo la comparacion de los files, si es mayor imprime el mje de "archivo demasiado grande".

ahora bien, nose si se puede lograr en ASP puro que resuelva el tamaño del file antes de todo el formateo.

de no poderse hacer, lo piola seria mientras formatea el file mostrar un gif animado, ya que de la manera en la que esta ahora, la pagina da una sensacion de colgada "colgada", si logro mostrar un gif animado, el usuario sabria que esta procesando su upload.


Código:
<!--#include file="xelupload.asp"-->

<%
Dim up, fich, URL, Desc, flag, nombreOr(2), nombreNu(2), tamano(2), tipo(2), mal, extencion, I, MAXTAM
MAXTAM  = 20000
set up = new xelUpload
up.Upload()
id_user = up.form ("id_usuario")
URL = up.form("url")
comentario = up.form("comentario")
flag = 0%>

<%
For each fich in up.Ficheros.Items
' Guardo Nombre Original del Archivo
nombreOr(flag) = fich.Nombre
tamano(flag) = fich.Tamano
tipo(flag) = fich.TipoContenido
'Concateno los distintos datos con "_._" para armar el nombre
nombrefichero1 = id_user & "-" & URL & "-" & fich.Nombre
'Remplazo las / si es que hay por "-_-"
nombrefichero1 = Replace(nombrefichero1, "/", "-")
'Guardo el nombre nuevo para guardarlo despues en la base
nombreNu(flag) = nombrefichero1
'Separo el nombre Original en el punto para sacar la estencion
nombrefichero3 = Split(fich.Nombre, ".")
'Saco la extencion sola
extencion = LCase(nombrefichero3(ubound(nombrefichero3)))
'Compruebo que el archivo anterior se aya subido bien, si no, no sigo


if mal = "No" OR mal = "" then
			
			'Compruebo el tamaño del file, si esta ok carga el file sino da mensaje de error
			if tamano(0) < MAXTAM or tamano(1) < MAXTAM then
				'Guardo el archivo
				fich.GuardarComo nombreNu, Server.MapPath("file\")
				'preparo una variable para decir que todo fue bien
				mal = "No"
			else
						'El archivo anterior cargo bien pero este no, Tonces borro el alterior
						if mal = "No" OR mal = "" then
							Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
									
									if ScriptObject.FileExists("C:\Inetpub\wwwroot\expressionawardslatam2007\file\" & nombreNu(0)) then
									   ScriptObject.DeleteFile("C:\Inetpub\wwwroot\expressionawardslatam2007\file\" & nombreNu(0))
									end if
									
						end if
				'El archivo no tiene la extencion requerida
				mal = "Archivo demasiado grande, <p> solo puede cargar archivos hasta 20MB"
				response.write mal
			end if
end if
flag = flag + 1
' fich.GuardarComo nombrefichero2, Server.MapPath("file\")
'----------------------------------------------------------------

Next
'Limpiamos objeto
set up = nothing
%>
por favor, espero cualquier recomendacion y ayuda al respecto.

muchas gracias

Gustavo