Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 4391615f35
Fetching contributors…

Cannot retrieve contributors at this time

36 lines (23 sloc) 1.192 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"
Jump to Line
Something went wrong with that request. Please try again.