Python-flask和werkzeug-继续提供“ BadRequestKeyError:400错误的请求:KeyError:'文件'”

时间:2019-01-29 10:12:05

标签: python flask http-status-code-400 werkzeug

我第一次尝试使用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'
我尝试了不同的方法,现在我真的不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

您的输入名称是file[],而不是file。尝试类似的东西:

   file = request.files['file[]']

或者只需将输入名称更改为file