在烧瓶中上传文件已在文档中正确解释。但我想知道相同的内置烧瓶文件上传是否可以用于多次上传。我经历了这个答案,但我无法完成它。它说“烧瓶”未定义。不确定我是否缺少一些要导入的模块,或者只是我不知道使用getlist
flask.request.files 的方法。
我的表格如下所示:
<form action="" method=post enctype=multipart/form-data>
<input type=file name="file[]" multiple>
<input type=submit value=Upload>
</form>
路线是这样的:
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'POST':
files = request.files.getlist['file[]']
for file in files:
if file and allowed_file(file.filename):
#filename = secure_filename(file.filename)
upload(filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('uploaded_file',
filename=filename))
如果我用“file []”替换文件会起作用吗?我可以这样做选择多个文件,但烧瓶只接受并打印一个选择的文件并只上传一个。看起来我在这里错过了一些愚蠢的东西。
=====已编辑======
我在下面的建议中编辑了上面的路线。
=====添加====
还需要一个函数来保持文件名迭代并保存它。
def upload(filename):
filename = 'https://localhost/uploads/' + filename
并在上面的 for 循环中调用此函数。完成了任务!
不确定它是否是真正的解决方案,但它确实成功了。