From 53edf61a1b252695a5151e43396aa4205b1bf7ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Szyd=C5=82owski?= Date: Wed, 29 Apr 2026 16:16:37 +0200 Subject: [PATCH 1/3] fixed upload file into blob with class Form --- py4web/utils/form.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/py4web/utils/form.py b/py4web/utils/form.py index 1ea0dfbbf..2f5157350 100644 --- a/py4web/utils/form.py +++ b/py4web/utils/form.py @@ -924,6 +924,10 @@ def process(self): validated_vars[field.name] = self.record.get(field.name) else: validated_vars[field.name] = value = None + if isinstance(field.uploadfield, str): + validated_vars[field.uploadfield] = value.file.read() + elif field.type == 'blob': + pass elif field.type == "boolean": validated_vars[field.name] = value is not None else: From 9edbea5cab3af4878427bf4170e0f2a699d6b7bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Szyd=C5=82owski?= Date: Wed, 29 Apr 2026 16:16:37 +0200 Subject: [PATCH 2/3] fixed upload file into blob with class Form --- py4web/utils/form.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/py4web/utils/form.py b/py4web/utils/form.py index 1ea0dfbbf..2f5157350 100644 --- a/py4web/utils/form.py +++ b/py4web/utils/form.py @@ -924,6 +924,10 @@ def process(self): validated_vars[field.name] = self.record.get(field.name) else: validated_vars[field.name] = value = None + if isinstance(field.uploadfield, str): + validated_vars[field.uploadfield] = value.file.read() + elif field.type == 'blob': + pass elif field.type == "boolean": validated_vars[field.name] = value is not None else: From 6412cd33aadf9c25ff653e9973827c1dcdcb80ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Szyd=C5=82owski?= Date: Wed, 29 Apr 2026 16:47:56 +0200 Subject: [PATCH 3/3] allows delete of blob --- py4web/utils/form.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/py4web/utils/form.py b/py4web/utils/form.py index 2f5157350..2d3de17d1 100644 --- a/py4web/utils/form.py +++ b/py4web/utils/form.py @@ -924,7 +924,7 @@ def process(self): validated_vars[field.name] = self.record.get(field.name) else: validated_vars[field.name] = value = None - if isinstance(field.uploadfield, str): + if isinstance(field.uploadfield, str) and value is not None: validated_vars[field.uploadfield] = value.file.read() elif field.type == 'blob': pass