upload_views: add server side control of upload size

This commit is contained in:
Benjamin Dauvergne 2014-01-31 00:33:23 +01:00
parent 6737ca6e16
commit 3c8a22cc0b
1 changed files with 6 additions and 0 deletions

View File

@ -11,6 +11,7 @@ from django.shortcuts import get_object_or_404
from django.utils.translation import ugettext_lazy as _
from .models import FileTypeAttachedFileKind
from . import app_settings
def get_paths_for_id(upload_id):
storage = DefaultStorage()
@ -70,6 +71,11 @@ def upload(request, transaction_id, file_kind=None):
if request.method == 'POST' and request.FILES is not None:
data = []
for uploaded_file in request.FILES.values():
if uploaded_file.size > app_settings.MAX_FILE_SIZE:
message = _('File is too big, limit is %(max_file_size)s bytes')
message = message % {'max_file_size': app_settings.MAX_FILE_SIZE}
data.append({'name': uploaded_file.name, 'error': unicode(message) })
continue
if file_kind:
if not file_kind.match_file(uploaded_file):
message = _('invalid file type, check required '