def file_upload():
"""
POST /file
Uploads the file to the server.
"""
try:
mimetype = request.form["mimetype"]
except KeyError:
return JsonResponse({"error": "no mimetype"}, 400)
try:
file = request.files["file"]
except KeyError:
return JsonResponse({"error": "no file"}, 400)
filename = werkzeug.utils.secure_filename(file.filename)
with tempfile.NamedTemporaryFile(
dir=app.config['MEDIA_DIR'], delete=False) as tf:
file.save(tf)
file_record = models.File(
title=filename,
mimetype=mimetype,
path=tf.name
)
with start_session() as session:
session.add(file_record)
session.commit()
file_id = file_record.id
return JsonResponse({
"id": file_id,
"signedId":
signer.sign(itsdangerous.want_bytes(file_id)).decode('utf-8'),
"title": filename,
"mimetype": mimetype
}, status=203)
评论列表
文章目录