在 Flask 中,我们可以使用 request.files
来获取上传的文件,当用户通过表单上传多个文件时,这些文件会以列表的形式存储在 request.files
中,下面是一个详细的教程,包括小标题和单元表格。
1、安装 Flask:确保已经安装了 Flask,如果没有安装,可以使用以下命令安装:
pip install Flask
2、创建一个简单的 HTML 表单,用于上传多个文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件上传</title>
</head>
<body>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file1" multiple>
<input type="file" name="file2" multiple>
<button type="submit">上传</button>
</form>
</body>
</html>
1、创建一个简单的 Flask 应用:
from flask import Flask, request
import os
app = Flask(__name__)
2、定义一个路由,用于处理文件上传请求:
@app.route('/upload', methods=['POST'])
def upload_files():
file1 = request.files['file1'] # 获取第一个文件对象列表
file2 = request.files['file2'] # 获取第二个文件对象列表
return 'Files uploaded successfully'
3、遍历文件对象列表,将文件保存到指定目录:
def save_files(file_list):
for file in file_list:
if file: # 确保文件对象不为空
filename = secure_filename(file.filename) # 对文件名进行安全处理,防止包含非法字符
file.save(os.path.join('uploads', filename)) # 将文件保存到 uploads 目录下
4、调用 save_files
函数,处理上传的文件:
if __name__ == '__main__':
app.run(debug=True)
from flask import Flask, request
from werkzeug.utils import secure_filename
import os
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_files():
file1 = request.files['file1'] # 获取第一个文件对象列表
file2 = request.files['file2'] # 获取第二个文件对象列表
save_files(file1) # 保存第一个文件列表中的文件到指定目录(如:uploads)
save_files(file2) # 保存第二个文件列表中的文件到指定目录(如:uploads)
return 'Files uploaded successfully'
def save_files(file_list):
for file in file_list:
if file: # 确保文件对象不为空
filename = secure_filename(file.filename) # 对文件名进行安全处理,防止包含非法字符
file.save(os.path.join('uploads', filename)) # 将文件保存到 uploads 目录下
if __name__ == '__main__':
app.run(debug=True)
以上是 Flask 中 formdata 上传多个文件的教程,希望本篇文章能够帮助您。
如果您有任何问题或者建议,请在评论区留言,让我们一起学习。
谢谢观看,如果您觉得这篇文章对您有所帮助,请点赞、评论并关注我们。