terça-feira, março 01, 2005

ASP.NET - PRB: Cannot Upload Large Files When You Use the HtmlInputFile Server Control

Pessoal, encontrei uma dificuldade no upload de ficheiros via .NET, que foi não passar ficheiros superiores a 4 Mb.
“PRB: Cannot Upload Large Files When You Use the HtmlInputFile Server Control”
Ao tentar fazer o upload dava um erro de “The Page Can Not Be Displayed”, ou seja, dava o erro do upload ser enorme e (erro 403), de seguida dava o erro de página não encontrada (404) pois eu não tinha definida a página para o erro 403.

Depois de pesquisar encontrei a solução: http://support.microsoft.com/default.aspx?
scid=kb;en-us;295626


SOLUÇÃO DO ERRO DO UPLOAD
=========================

c:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG
Filename: machine.config
< httpRuntime
executionTimeout="90"
maxRequestLength="819200"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>

Solução: Alterar o maxRequestLength para o valor necessário ou aceitável no meu caso passei o para 819200 (800 MB) e, testei com um ficheiro de 150 MB e passou, na tentativa de passar um ficheiro de 660 MB não passou, o que pode estar relacionado com a falta de memória no servidor, pois o maxRequestLength está limitado em 2 GB mas só aconselham usar 1 GB e esta memória é partilhada pelos processos de .NET a correr e a monitoria do serviço, por isso em determinados momentos pode ser bastante inferior a 1 GB.
Espero que possa ajudar no futuro a todos os que usem UPLOAD de ficheiros.

Sem comentários: