Fix image upload problem in API

This commit is contained in:
Jessica Tallon 2014-04-04 12:25:20 -05:00
parent 1304a28fa7
commit 41599bf23c
2 changed files with 7 additions and 3 deletions

View File

@ -1,5 +1,6 @@
import json
import io
import mimetypes
from werkzeug.datastructures import FileStorage
@ -56,14 +57,17 @@ def uploads(request):
request.user = requested_user[0]
if request.method == "POST":
# Wrap the data in the werkzeug file wrapper
mimetype = request.headers.get("Content-Type", "application/octal-stream")
filename = mimetypes.guess_all_extensions(mimetype)
filename = 'unknown' + filename[0] if filename else filename
file_data = FileStorage(
stream=io.BytesIO(request.data),
filename=request.args.get("qqfile", "unknown"),
filename=filename,
content_type=request.headers.get("Content-Type", "application/octal-stream")
)
# Find media manager
media_type, media_manager = sniff_media(file_data)
media_type, media_manager = sniff_media(file_data, filename)
entry = new_upload_entry(request.user)
if hasattr(media_manager, "api_upload_request"):
return media_manager.api_upload_request(request, file_data, entry)

View File

@ -72,7 +72,7 @@ class ImageMediaManager(MediaManagerBase):
queue_file = prepare_queue_task(request.app, entry, file_data.filename)
with queue_file:
queue_file.write(request.data)
entry.save()
feed_url = request.urlgen(