MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Flask - Bad Request Der Browser (oder Proxy) hat eine Anfrage gesendet, die dieser Server nicht verstehen konnte

Der dortige Fehler resultiert aus einem BadRequestKeyError aufgrund des Zugriffs auf einen Schlüssel, der nicht in request.form existiert .

ipdb> request.form['u_img']
*** BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.

Hochgeladene Dateien werden unter request.files verschlüsselt und nicht request.form Wörterbuch. Außerdem müssen Sie die Schleife verlieren, da der Wert unter u_img eingegeben wurde ist eine Instanz von FileStorage und nicht iterierbar .

@app.route('/', methods=['GET', 'POST'])
def index():
    target = os.path.join(app_root, 'static/img/')
    if not os.path.isdir(target):
        os.makedirs(target)
    if request.method == 'POST':
        ...
        file = request.files['u_img']
        file_name = file.filename or ''
        destination = '/'.join([target, file_name])
        file.save(destination)
        ...
    return render_template('index.html')