From 9f3ad0be16d556a36ac48ffbd461a31873c78055 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Fri, 2 Dec 2022 04:02:38 -0700 Subject: [PATCH] Don't allow file uploads bigger than 10MB --- activities/views/compose.py | 11 +++++++++++ templates/forms/_field.html | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/activities/views/compose.py b/activities/views/compose.py index 58dc7fc..2fa0bbb 100644 --- a/activities/views/compose.py +++ b/activities/views/compose.py @@ -156,6 +156,17 @@ class ImageUpload(FormView): image = forms.ImageField() description = forms.CharField(required=False) + def clean_image(self): + value = self.cleaned_data["image"] + if value.size > 1024 * 1024 * 1: + # Erase the file from our data to stop trying to show it again + self.files = {} + raise forms.ValidationError("File must be 10MB or less") + return value + + def form_invalid(self, form): + return super().form_invalid(form) + def form_valid(self, form): # Make a PostAttachment thumbnail_file = resize_image(form.cleaned_data["image"], size=(400, 225)) diff --git a/templates/forms/_field.html b/templates/forms/_field.html index 41f59d8..d101889 100644 --- a/templates/forms/_field.html +++ b/templates/forms/_field.html @@ -17,7 +17,7 @@ {% endif %} {{ field }} - {% if field.field.widget.input_type == "file" and field.value%} + {% if field.field.widget.input_type == "file" and field.value %} {% endif %}