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