加微信进交流群:xituxiaoshutong100

Flask教程(二十五)接收多文件

Flask Web 迷途小书童 0评论

环境

  • 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

源码下载

https://github.com/xugaoxiang/FlaskTutorial

Flask系列教程

更多Flask教程,请移步

https://xugaoxiang.com/category/python/flask/

喜欢 (0)
发表我的评论
取消评论

表情