aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/api/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/api/views.py')
-rw-r--r--mediagoblin/api/views.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/mediagoblin/api/views.py b/mediagoblin/api/views.py
index 74181fde..dfa9dfa2 100644
--- a/mediagoblin/api/views.py
+++ b/mediagoblin/api/views.py
@@ -115,8 +115,16 @@ 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:
+ filenames = sorted(mimetypes.guess_all_extensions(mimetype))
+ if not filenames:
+ return json_error('Unknown mimetype: {}'.format(mimetype),
+ status=415)
+ filename = 'unknown{0}'.format(filenames[0])
+
file_data = FileStorage(
stream=io.BytesIO(request.data),
filename=filename,