Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
36 lines (23 sloc) 1.16 KB
layout title
default
Comment limiter la taille des fichiers uploadés

Comment limiter la taille des fichiers uploadés

Autre langages: english | ...

Problème:

Comment limiter la taille des fichiers uploadés ?

Solution:

web.py utilise le module cgi pour parser les entrées de l'utilisateur et le module cgi a une disposition visant à limiter la taille maximale des entrées.

Le code suivant limite la taille des données entrantes à 10 Mo.

import cgi

# Données entrantes maximum que nous acceptons lorsque REQUEST_METHOD est POST
# 0 ==> Données entrantes illimitées
cgi.maxlen = 10 * 1024 * 1024 # 10Mo

Noter que cela limite la taille des données POST, pas des fichiers uploadés. Cependant, ce sera presque pareil s'il n'y a pas d'autre entrée.

Le module cgi lève l'exception ValueError quand la taille des données entrées est supérieure à cgi.maxlen. Elle peut être interceptée pour afficher le message d'erreur requis.

class upload:
    def POST(self):
        try:
            i = web.input(file={})
        except ValueError:
            return "File too large"
Something went wrong with that request. Please try again.