diff options
author | Romain Porte <microjoe@microjoe.org> | 2017-11-11 18:29:54 +0100 |
---|---|---|
committer | Boris Bobrov <breton@cynicmansion.ru> | 2017-11-11 20:41:01 +0300 |
commit | f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a (patch) | |
tree | 231b19281d643c43b33d317c65ba5b96fb0b1302 /mediagoblin/api | |
parent | a63d628f594f115b3fbe61590ccc2a8962a36d8a (diff) | |
download | mediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.tar.lz mediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.tar.xz mediagoblin-f2b4760bd50d4ad6ec5899e90f655c2f4cf0884a.zip |
Change API filename upload using custom header
When uploading a file using the API its same is always going to be
'unknown.<extension>', which is not good looking for file urls. This
patch proposes a custom header named 'X-File-Name' that allows to
specify a file name using an API client.
This changeset was tested with a local OAuth1 client.
Diffstat (limited to 'mediagoblin/api')
-rw-r--r-- | mediagoblin/api/views.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mediagoblin/api/views.py b/mediagoblin/api/views.py index 74181fde..b25300f0 100644 --- a/mediagoblin/api/views.py +++ b/mediagoblin/api/views.py @@ -115,8 +115,13 @@ def uploads_endpoint(request): ) mimetype = request.headers["Content-Type"] - filename = mimetypes.guess_all_extensions(mimetype) - filename = 'unknown' + filename[0] if filename else filename + + if "X-File-Name" in request.headers: + filename = request.headers["X-File-Name"] + else: + filename = mimetypes.guess_all_extensions(mimetype) + filename = 'unknown' + filename[0] if filename else filename + file_data = FileStorage( stream=io.BytesIO(request.data), filename=filename, |