我第一次尝试使用python上传文件,我尝试使用flask和werkzeug库,这是我的代码:
这里我正在创建上传文件的功能:
@app.route('/upload')
def upload_file():
return render_template('load.html')
@app.route('/uploader', methods=['GET','POST'])
@login_required(must=[be_admin, have_approval])
def uploaderV():
if request.method == 'POST':
file = request.files['file']
if file:
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
return 'file uploaded'
return render_template('load.html')
这是我的load.html页面:
{% extends 'base.html' %}
{% block title %}Secret{% endblock %}
{% block page_body %}
<div class="row">
<form action="{{ url_for('uploaderV') }}" method="POST" enctype="multipart/form-data">
<p>
<input type='file' name='file[]' multiple=''>
<input type="submit" value="Upload">
</p>
</form>
</div>
{% endblock %}
每次我尝试上传文件时,服务器都会给我
werkzeug.exceptions.BadRequestKeyError
BadRequestKeyError:400错误请求:KeyError:'file'
我尝试了不同的方法,现在我真的不知道该怎么办。
答案 0 :(得分:0)
您的输入名称是file[]
,而不是file
。尝试类似的东西:
file = request.files['file[]']
或者只需将输入名称更改为file
。