From 77926ec92bf8be51513dc17ed28ab69ee46f2295 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Sat, 28 Oct 2023 13:01:33 +0100 Subject: [PATCH] guess mimetype if extension not provided on upload --- src/microcosm/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/microcosm/__init__.py b/src/microcosm/__init__.py index 733e9b1..1e35f22 100644 --- a/src/microcosm/__init__.py +++ b/src/microcosm/__init__.py @@ -7,6 +7,7 @@ import giteapy import giteapy.rest import time import base64 +import mimetypes from werkzeug.datastructures import FileStorage @@ -143,8 +144,13 @@ def process_photo_upload(created_at: datetime, file: FileStorage, suffix: str="" if os.environ.get('MICROPUB_IMAGE_STRATEGY') == 'copy': + file.mimetype + ext = os.path.splitext(file.filename)[1] + if ext == "": + ext = mimetypes.guess_extension(file.mimetype) + # generate local filename filename = os.path.join(os.environ.get( 'MICROPUB_MEDIA_PATH'), created_at.strftime("%Y/%m/%d"), f"{now_ts}_{suffix}{ext}")