【问题标题】:How to save video into file which i get from POST request method?如何将视频保存到我从 POST 请求方法获得的文件中?
【发布时间】:2020-06-02 07:22:57
【问题描述】:

我正在使用 Flask 为 Android 应用程序编写 Python 后端。我从 POST 方法获取视频(当我这样做时:print(request.files['video'].read()) 我得到 "d3\xb9}\xff\x04\xa4M\xef\x8fS\xc1\xf0\x9e:|ge\x1cfO\xc1\x11ry\x0b\ xea\xd1\x82\xf2\xa9-H...")。我可以通过这样做np.frombuffer(request.files['video'].read(), np.uint8) 将其转换为 numpy 数组,但我不知道下一步该怎么做才能将视频保存为 mp4 格式的文件。你能帮我么?

【问题讨论】:

  • 视频是一体的(小视频),还是流式传输(大视频)?
  • @simic0de 在一块,视频将在 20-30 秒左右
  • 欢迎来到 SO!我邀请您参观并访问我们的帮助中心,以了解有关该网站及其指南的更多信息。顺便说一句,好的第一篇文章。 :) @Polina

标签: python flask post http-post


【解决方案1】:

如果您只想将视频另存为文件,则无需读取文件。

您可以使用 Flask 文档提供的方法。它提供了有关如何处理文件的指南。链接在这里:https://flask.palletsprojects.com/en/1.1.x/patterns/fileuploads/

或者您可以使用名为“Flask-Uploads”的扩展程序,它使您能够以方便的方式处理文件上传。

这是一个例子:

from flask_uploads import UploadSet
from werkzeug.utils import secure_filename

media = UploadSet('media', ('mp4')) # Create an upload set that only allow mp4 file
....
@app.route('/upload/', methods=["POST"])
def upload():
    if "video" in request.files:
        video = request.files["video"]
        filename = secure_filename(file.filename) # Secure the filename to prevent some kinds of attack
        media.save(video, name=filename)
        # Video saved

有关 Flask-Uploads 的详细文档,请在此处查看:https://pythonhosted.org/Flask-Uploads/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-10
    • 2021-10-07
    • 2013-04-02
    • 2017-08-27
    • 2021-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多