Python Flask接收多个文件作为入参

2024年05月20日 Python Flask接收多个文件作为入参 极客笔记

Python Flask接收多个文件作为入参

在实际开发中,我们经常需要接收用户上传的多个文件作为参数,并对这些文件进行处理。本文将介绍如何使用Python的Flask框架来实现接收多个文件作为入参的功能。

1. 创建Flask应用

首先,我们需要安装Flask库。可以使用pip来安装Flask:

pip install Flask

接下来,我们创建一个Flask应用,并实现接收多个文件的功能。

from flask import Flask, request

app = Flask(__name__)

@app.route('/upload', methods=['POST'])
def upload_files():
    files = request.files.getlist('file')

    for file in files:
        file.save(file.filename)

    return "Files uploaded successfully"

if __name__ == '__main__':
    app.run(debug=True)

在上面的代码中,我们创建了一个名为upload_files的路由,该路由接收POST请求,并通过request.files.getlist('file')方法来获取上传的多个文件。然后我们对每个文件进行保存,并返回一个成功的提示信息。

2. 发送POST请求测试接口

接下来,我们可以使用Postman等工具来测试我们的接口。在POST请求中,我们需要添加一个名为file的参数,并选择多个文件进行上传。

3. 运行Flask应用

最后,我们可以运行Flask应用,并测试接收多个文件的功能。在终端中执行以下命令:

python your_app.py

4. 示例代码运行结果

接下来,我们以一个示例代码来测试接收多个文件的功能。假设我们有一个HTML页面,如下所示:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Upload Files</title>
</head>
<body>
  <form action="http://127.0.0.1:5000/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file" multiple>
    <input type="submit" value="Upload">
  </form>
</body>
</html>

我们可以将该HTML文件保存为upload.html,然后运行Flask应用,并访问http://127.0.0.1:5000/upload.html上传文件。

结论

通过以上步骤,我们成功实现了使用Python的Flask框架来接收多个文件作为入参的功能。这对于需要处理用户上传多个文件的场景非常有用。

本文链接:http://so.lmcjl.com/news/4940/

展开阅读全文