2009-02-10 9 views
4

Existe-t-il un moyen (probablement un module) permettant à IIS7 de rejeter un article dont le fichier est supérieur à 10 Mo?Éviter le téléchargement de fichiers de taille supérieure à 10 Mo

Mon application ASP.NET a une page de téléchargement, et le fichier ne peut pas être plus grand que 10mb, je crois que je peux vérifier la taille du fichier seulement après que tout ait été déjà envoyé au serveur.

Un module IIS7 serait le bon choix pour cela, quelqu'un en connaît un?

Répondre

6

Vous pouvez définir la limite dans le web.config

<system.web> 
    <httpRuntime maxRequestLength="xxxxx" executionTimeout="xx"/> 
</system.web> 

sidenote:

IIS7 rejettera un fichier plus grand que 30 meg par défaut, vous pouvez augmenter en ajoutant le code suivant

<security> 
<requestFiltering> 
    <requestLimits maxAllowedContentLength=”XXXXXX″ /> 
</requestFiltering> 
</security> 

Si vous cherchez à obtenir la taille du contenu avant un téléchargement, vous devriez pouvoir utiliser la méthode HTTP HEAD pour récupérer la longueur du contenu.

Implementation

+0

mais il éviter que le fichier soit téléchargé d'abord, puis la taille vérifié? c'est-à-dire qu'il déclenche une exception juste après l'envoi des en-têtes? – Bruno

+0

@Bruno, il va couper la demande à 10 Mo, et lancer une erreur si plus. Cependant, il n'y a rien qui va vérifier le fichier avant le téléchargement. Il y a quelques uploaders flash qui font cela, mais ce n'est probablement pas ce que vous voulez. –

+0

Il ya une recommandation PHP pour demander au navigateur de ne pas télécharger de fichiers sur une limite spécifiée, mais à mon humble avis, aucun navigateur ne l'implémente. –