Hablar bien no cuesta una puta mierda
Avie, en Snatch

[Struts] - Limitar el tamaño máximo de los ficheros de subida

En algunas aplicaciones permitimos la subida de archivos de los usuarios al servidor. En algunas aplicaciones existe una limitación en el tamaño de los ficheros por requisitos del sistema o de negocio. Pero siempre debería de estar limitado por razones de seguridad, para evitar que un usuario malintencionado ataque la aplicación subiendo archivos excesivamente pesados. Por defecto, el tamaño máximo está limitado a 250 Megabytes.

Existe una forma muy simple de lograrlo, y es mediante una propiedad del controlador en el struts-config.xml, maxFileSize.

 

<controller>

<set-property property="maxFileSize" value="1M" />

</controller>

o simplemente

<controller maxFileSize="1M"/>

Esta propiedad admite un valor entero seguido de "K", "M" ó "G" para referirse a kilobytes, megabytes o gigabytes. Sin ningún sufijo se interpreta como bytes. En los dos ejemplos permitimos un máximo de 1 Mega(byte).

Si un usuario intenta subir un fichero de un tamaño mayor al permitido, la propiedad FormFile del formulario (clase ActionForm) llegará a la clase Action como null, y por tanto podemos controlar este evento en nuestra clase Action para lanzar una excepción para avisar al usuario de que su fichero no ha sido subido por sobrepasar el tamaño máximo permitido.

Memoria del servidor utilizada

Por defecto, la memoria que dedicará el servidor a la subida del fichero será 500 Kilobytes. En caso de superar este valor se utilizará otro soporte externo, típicamente el sistema físico de ficheros. Podemos modificar este valor de forma análoga, utilizando la propiedad memFileSize.

<controller maxFileSize="1M" memFileSize="300K"/>

Technorati Tags: , , ,

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario: