我第一次尝试用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')
比这是我的负载.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错误请求密钥错误: 400 错误请求: 密钥错误: "文件"
我尝试了不同的方式,现在我真的不知道该怎么办。
您的输入名称是 file[]
,而不是 file
。尝试类似操作:
file = request.files['file[]']
或者只是将您的输入名称更改为 file
。