阅读 86

Flask中如何接收多文件?

环境

  • windows 10 64bit

  • anaconda3 with python 3.7

  • flask 1.1.2

前言

web后端接收多文件,在实际项目中也算是个常见的需求,本文就来看看,在flask中如何来实现这个需求。

实例

先来看后端代码,少量注释写在了代码中

from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/upload', methods=['POST'])
def index():
    # 使用request模块接收带对应标签的文件列表,这里对应图片和视频
    image_files = request.files.getlist('image')
    video_files = request.files.getlist('video')

    # 判断是否有空文件
    if not image_files and not video_files:
        return jsonify({
            "code": -1,
            "message": "No upload images or videos."
        })

    # 从文件列表依次取出并保存,文件名与上传时一致
    for image_file in image_files:
        image_file.save(image_file.filename)

    # 同上
    for video_file in video_files:
        video_file.save(video_file.filename)

    return jsonify({
        "code": 0,
        "message": "upload images and videos success."
    })


if __name__ == '__main__':
    # 启动flask app
    app.run('0.0.0.0', debug=True, port=5000)复制代码

示例代码就这么简单,写完后,保存,启动服务

python app.py复制代码

客户端部分,这里使用postman这个工具来进行模拟请求,打开postman,新建一个请求,在Body里面携带参数,选择form-data

鼠标点击key值尾部,出现TextFile两种类型,这里我们选择File,这里我们需要2个key值,分别是imagevideo,这2个值在flask中会用到,2者匹配起来就可以了,你想写其它的字符都可以

flask receive multiple files

准备就绪后,就可以点击发送了,成功后,在响应部分,可以看到返回值json数据

flask receive multiple files

同时,在flask后端,也成功接收并保存了对应的图片文件和视频文件,文件名与上传时的文件名保持一致

flask receive multiple files


作者:迷途小书童的Note
链接:https://juejin.cn/post/7028389854547279903


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐