Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 5ab2b051c4
Fetching contributors…

Cannot retrieve contributors at this time

35 lines (23 sloc) 0.995 kB
layout title
default
How to put a limit on upload size

How to put a limit on upload size

Other languages: français | ...

Problem

How to put a limit on upload size

Solution

web.py uses cgi module to parse user inputs and the cgi module has a provision to limit max size of input.

The following code limits the size of input data to 10MB.

import cgi

# Maximum input we will accept when REQUEST_METHOD is POST
# 0 ==> unlimited input
cgi.maxlen = 10 * 1024 * 1024 # 10MB

Please note that this limits the size of POST data, not file uploaded. However they will be almost same if there is no other input.

The cgi module raises ValueError when the input size is more than cgi.maxlen. It can be caught to display required error message.

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.