2008-12-20 4 views
15

Existe-t-il un autre emplacement en dehors du fichier metabase.xml dans lequel la taille de téléchargement de fichier peut être modifiée?Augmenter la limite de taille de téléchargement de fichier dans iis6

Je suis actuellement en cours d'exécution d'un serveur de transfert avec IIS6 et il est configuré pour permettre le téléchargement de fichiers jusqu'à 20mb. Cela fonctionne parfaitement bien. J'ai un nouveau serveur de production où j'essaye d'installer cette même limite de taille disponible. J'ai donc modifié le fichier metabase.xml et l'ai défini sur 20971520. Puis j'ai redémarré IIS et cela n'a pas fonctionné. J'ai donc redémarré le serveur entier, cela ne fonctionnait pas non plus. Je peux télécharger des fichiers autour de 2mb, ce qui permet d'avoir des tailles de fichier supérieures à la taille par défaut de 200ko. Je tente de télécharger un fichier 5mb et ma page upload.aspx se bloque complètement. Est-il possible qu'il y ait quelque chose d'autre à configurer? Le serveur de production est situé sur une ferme de serveurs, pourrait-il y avoir des limites à cet endroit?

Merci

Répondre

6

Si vous utilisez .NET ASP, alors vous devez modifier la propriété maxRequestLength web.config.

Voir this link.

+1

Eh oui, la taille du fichier max par défaut est 4Mo: http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength.aspx –

+0

Dans mon serveur intermédiaire je ne avoir ces ensembles. Pourtant, je suis toujours capable de télécharger des fichiers plus volumineux. – JustLogic

+0

L'attribut Maxrequestlength semble fonctionner. Pour une raison quelconque, je n'ai pas cet ensemble dans mon serveur de transfert et cela fonctionne toujours. Eh bien, Merci – JustLogic

35

Je vais étendre ma réponse à votre question pour prendre en compte d'autres situations possibles.

Un très bon lien pour en savoir plus sur le téléchargement de fichiers de grande taille est celui-ci: http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

ici Jon Galloway explique les meilleures techniques pour traiter le problème:

1.-Changer config de la machine ou sur le Web. config:

<system.web> 
    <httpRuntime executionTimeout="240" maxRequestLength="20480" /> 
</system.web> 

ici vous changer non seulement la maxRequestLength, mais vous devez donner plus de secondes pour le executionTimeout.

Chose intéressante: Prenez en compte que la valeur de ce paramètre est ignorée en mode débogage. La valeur par défaut dans .NET Framework 2.0 est de 110 secondes. Dans le .NET Framework 1.0 et 1.1, la valeur par défaut est 90 secondes.

2.-En parlant de la vraie solution, HttpModules comme gratuit NeatUpload

3.-Expliquer une autre façon de télécharger de façon plus intuitive: Silverlight ou Flash swfupload

4.-Il parle un restriction II7 a. Dans cette page http://www.telerik.com/help/aspnet-ajax/upload_uploadinglargefiles.html, vous pouvez trouver des paramètres plus intéressants pour IIS 7, pour définir un maximum de 100 mégas. Vous ajoutez:

<system.webServer> 
... 
    <security > 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="1024000000" /> 
    </requestFiltering> 
    </security> 
</system.webServer> 

Et vous devez ouvrir le fichier C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config et trouvez la ligne:

<section name="requestFiltering" overrideModeDefault="Deny" /> 

changeant:

<section name="requestFiltering" overrideModeDefault="Allow" /> 

Une autre chose intéressante que Galloway mentionne: "Dans ASP.NET 1.0 et 1.1, le fichier entier a été chargé en mémoire avant d'être écrit sur le disque. Il y avait des améliorations dans ASP.NET 2.0 pour diffuser le fichier sur le disque pendant le processus de téléchargement."

Pour IIS6 la solution Chris donne je pense est approprié:

http://www.banmanpro.com/support2/File_Upload_limits.asp

Une autre source:

http://www.telerik.com/support/kb/aspnet-ajax/upload/page-not-found-error-when-uploading-large-files-on-win2003.aspx


Une autre URL où l'utilisateur a testé beaucoup de composants ici:

http://remy.supertext.ch/2008/01/file-upload-with-aspnet/

Il se réfère à un projet CodeProject qui est un autre très bon exemple de l'utilisation de fichiers volumineux et Flash ici (!):

http://www.codeproject.com/KB/aspnet/FlashUpload.aspx

+0

merci pour la pointe IIS 7.x – ivan

2

J'ai été aux prises avec ce problème depuis des heures et enfin J'ai résolu mon problème particulier et je veux le partager ici.

Si vous utilisez urlscan, il existe également une limite de taille de fichier dans sa configuration. Pour apporter des modifications à cela, vous devez modifier le fichier "UrlScan.ini" situé (en général) à:

C: \ WINDOWS \ system32 \ inetsrv \ urlscan

Modifiez la valeur pour "MaxAllowedContentLength" à la valeur de votre taille de fichier maximale souhaitée.

0

Si vous téléchargez un document à partir de rad-control, vous pouvez simplement utiliser cette ligne de code.

RadFileExplorer1.Configuration.MaxUploadFileSize = 2000 * 1024; 

Cela a fonctionné pour moi.

Questions connexes