def post(self, instance_id):
if not self.is_exist(instance_id):
abort(404)
if not self.is_allowed(instance_id):
abort(403)
uploaded_file = request.files["file"]
folder_path = thumbnail_utils.get_preview_folder_name(
"originals",
instance_id
)
if ".png" in uploaded_file.filename:
thumbnail_utils.save_file(
folder_path,
instance_id,
uploaded_file,
size=None
)
thumbnail_utils.generate_preview_variants(instance_id)
return thumbnail_utils.get_preview_url_path(instance_id), 201
elif ".mp4" in uploaded_file.filename:
file_name = "%s.mp4" % instance_id
folder = thumbnail_utils.create_folder(folder_path)
file_path = os.path.join(folder, file_name)
picture_path = os.path.join(folder, "%s.png" % instance_id)
uploaded_file.save(file_path + '.tmp')
clip = VideoFileClip(file_path + '.tmp')
clip = clip.resize(height=720)
clip.save_frame(picture_path, round(clip.duration / 2))
thumbnail_utils.generate_preview_variants(instance_id)
clip.write_videofile(file_path)
return {}, 201
else:
abort(400, "Wrong file format")
评论列表
文章目录