Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/01/2010, 16:33
hardvin
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Limitar Tamaño Archivo en Upload

Código C# Code:
Ver original
  1. public bool subir_archivo(HttpPostedFile archivo, string strNombre)
  2.         {
  3.             try
  4.             {
  5.                 int tamanoarchivo;
  6.                 byte[] datos;
  7.  
  8.  
  9.                 //Si no se especificó un archivo
  10.                 //fileuploader.FileName
  11.                 if (archivo == null)
  12.                 {
  13.                     //Mensaje en la master que no hay seleccionado un archivo
  14.  
  15.                     return false;
  16.  
  17.                 }
  18.  
  19.                 //Comprobar que sea una Imagen
  20.  
  21.                 //if (archivo.ContentType.IndexOf("image") != 0)
  22.                 //{
  23.                 //    //En la master (El archivo no es una imagen
  24.                 //    return false;
  25.                 //}
  26.  
  27.                 //Comprobar que no sea muy grande
  28.  
  29.                 tamanoarchivo = archivo.ContentLength;
  30.                 if (tamanoarchivo > 500000)
  31.                 {
  32.                     objMaster.fn_mensaje("El tamaño maximo permitido por archivo es de " + Convert.ToString(500000 / 1000) + " kb", false);
  33.                     return false;
  34.                 }
  35.  
  36.                 //llenamos los datos de la imagen
  37.                 datos = new byte[tamanoarchivo];
  38.  
  39.                 //se llena la coleccion de bytes con el stream del archivo.
  40.                 archivo.InputStream.Read(datos, 0, tamanoarchivo);
  41.  
  42.                 //Obtenemos la extencion del archivo.
  43.                 string strExtencion = Path.GetExtension(archivo.FileName);
  44.  
  45.                 //Admitidos PNG
  46.                 // (strExtencion.ToLower() != ".png")
  47.                // {
  48.                     //Solo se permiten imagenes con extencion .png
  49.                    // return false;
  50.                // }
  51.  
  52.                 //se asigna un nombre a la imagen como va a ser guardada en el servidor
  53.  
  54.                 strNombre = strNombre + strExtencion;
  55.  
  56.                 //Path donde se va a guardar la imagen
  57.                 string strPath = Server.MapPath(@"Datos\Adjuntos\" + strNombre);
  58.  
  59.                 //Se dimenciona el stream encargado de hacer el guardado
  60.                 FileStream objArchivo = new FileStream(strPath, FileMode.Create);
  61.  
  62.                 //Se guarda la imagen en el disco
  63.                 objArchivo.Write(datos, 0, datos.Length);
  64.                 objArchivo.Close();
  65.                 return true;
  66.  
  67.             }
  68.             catch (Exception Ex)
  69.             {
  70.                 objMaster.fn_mensaje("Ha ocurrido un error inesperado: " + Ex.Message, false);
  71.                 return false;
  72.             }
  73.         }

Bueno fijate bien en la linea que dice

Código C# Code:
Ver original
  1. tamanoarchivo = archivo.ContentLength;
  2.                 if (tamanoarchivo > 500000)
  3.                 {
  4.                     objMaster.fn_mensaje("El tamaño maximo permitido por archivo es de " + Convert.ToString(500000 / 1000) + " kb", false);
  5.                     return false;
  6.                 }

En esta es donde debes cambiar el tamaño del archivo... no se puedes traerlo de una variable publica al autenticar el usuario que va a hacer el upload y alli reemplazar los valores ;)

Espero que mi ayuda te sea útil ;) (Y)