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.
This commit is contained in:
Romain Porte 2017-11-11 18:29:54 +01:00 committed by Boris Bobrov
parent a63d628f59
commit f2b4760bd5

View File

@ -115,8 +115,13 @@ def uploads_endpoint(request):
) )
mimetype = request.headers["Content-Type"] 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( file_data = FileStorage(
stream=io.BytesIO(request.data), stream=io.BytesIO(request.data),
filename=filename, filename=filename,