Flask formdata 上传多个文件

Flask formdata 上传多个文件

Flask formdata 上传多个文件

在Web开发中,经常会遇到需要上传文件的情况,比如用户上传照片、视频等。而使用Flask框架开发Web应用时,处理文件上传非常方便。本文将详细介绍如何在Flask中使用formdata上传多个文件。

准备工作

首先确保已经安装了Flask框架。如果没有安装,可以通过以下命令安装:

pip install Flask

接着,新建一个Flask应用,并创建一个包含上传文件表单的页面。

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        files = request.files.getlist('file')
        for file in files:
            file.save(file.filename)
        return '上传成功'
    return render_template('upload.html')

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

在这段代码中,我们定义了一个路由’/’,允许GET和POST方法。在GET请求中,返回包含上传文件表单的页面;在POST请求中,获取用户上传的多个文件并保存到本地。

编写HTML页面

接下来,创建一个名为upload.html的HTML文件,用于展示上传文件的表单。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Upload Files</title>
</head>
<body>
    <h1>Upload Files</h1>
    <form action="/" method="post" enctype="multipart/form-data">
        <input type="file" name="file" multiple>
        <input type="submit" value="Upload">
    </form>
</body>
</html>

在这个表单中,我们使用<input type="file" name="file" multiple>的形式来允许用户选择多个文件进行上传。

运行应用

现在可以运行Flask应用,并在浏览器中访问http://localhost:5000来上传文件了。

python app.py

上传多个文件后,文件将保存在应用的根目录下,并返回’上传成功’的消息。

总结

通过本文的介绍,你已经学会了如何在Flask中使用formdata上传多个文件。这种方法非常适合需要用户批量上传文件的场景,如相册、附件上传等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程