quinta-feira, 16 de outubro de 2008

Customizando tamanho de upload de arquivos em páginas asp.net

Em algumas das situações de desenvolvimento, faz-se necessário que rotinas de upload de arquivos para o servidor sejam configuradas. Há porém situações de upload que podem variar desde carregar uma foto, arquivo de texto até o upload de softwares, executáveis e arquivos compactados, de diferentes tamanhos.

Provavelmente quem já tenha utilizado esta rotina de upload já possa ter sido barrado pelo tamanho de limite do Framework (2.0) que fica em uma margem aproximada do tamanho máximo de 5 MB, de acordo com configurações default da instalação. Mas se a idéia for realizar um upload de software, por exemplo, que poderá chegar a 30 MB, como poderíamos fazer?

A solução para este problema é bem simples, trata-se nada mais do que uma configuração a ser realizada no arquivo Web.Config da aplicação, reescrevendo assim as limitações originais do Framework. No Web.Config, logo após o final da implementação da tag </system.net>, crie uma nova implementação chamada de location. Neste bloco, definiremos para qual página vamos reescrever as configurações do tamanho de upload, adicionando o seguinte trecho:


<location path="upload_page.aspx">
<system.web>
<httpRuntime maxRequestLength="20480" />
</system.web>
</location>


Observe que junto a tag location atribuímos um path, que se trata o nome para a página que iremos reescrever o limite de tamanho, e logo em seguida, na propriedade maxRequestLength, definimos em KB o tamanho permitido, no caso, 20 MB = (20 x 1024 Kb), chegando ao valor de 20480 que será configurado.

Ao executar a aplicação, o novo limite já poderá ser utilizado, lembrando que será valido apenas para a página configurada. No caso de reescrever para mais páginas, reescreva o bloco na quantidade de vezes que for necessário, um abaixo o outro. Em breve, farei um post apresentando alguns cuidados no momento de fazer upload de arquivos e a rotina de códigos necessários. Até a próxima.

2 comentários:

Helton Eduardo Ritter disse...

Mas que difícil! hahahaha

Show de dica.

Ed Segan disse...

Show de bola!
Meus parabéns pela dica e pelo blog!
Abraço!