在Flask中提交多个文件组并存储到数据库中,可以按照以下步骤进行:
<input type="file" multiple>
来允许选择多个文件。request.files.getlist('file')
来获取上传的多个文件。这将返回一个文件对象列表。secure_filename
函数来确保文件名的安全性。save
方法。以下是一个示例代码:
from flask import Flask, render_template, request
from werkzeug.utils import secure_filename
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)
class File(db.Model):
id = db.Column(db.Integer, primary_key=True)
filename = db.Column(db.String(255))
filepath = db.Column(db.String(255))
upload_time = db.Column(db.DateTime)
@app.route('/', methods=['GET', 'POST'])
def upload_files():
if request.method == 'POST':
files = request.files.getlist('file')
for file in files:
filename = secure_filename(file.filename)
file.save('your_upload_directory/' + filename)
new_file = File(filename=filename, filepath='your_upload_directory/' + filename)
db.session.add(new_file)
db.session.commit()
return 'Files uploaded successfully!'
return render_template('upload.html')
if __name__ == '__main__':
app.run()
在上述示例中,your_database_uri
需要替换为你的数据库连接URI,your_upload_directory
需要替换为你希望保存文件的目录。
这个示例中使用了Flask、SQLAlchemy和Werkzeug库来处理文件上传和数据库操作。在数据库中创建了一个名为File
的表来存储文件信息。上传的文件将保存到指定目录,并将文件信息存储到数据库中。
领取专属 10元无门槛券
手把手带您无忧上云