繁体   English   中英

上传文件到 Flask 时出现 KeyError

[英]KeyError when uploading files to Flask

文档: https://flask-ptbr.readthedocs.io/en/latest/patterns/fileuploads.html

我正在按照上面的文档保存从我的 flask 应用程序上传的照片; 但是,我在 UPLOAD_FOLDER 上遇到了 KeyError。

我将 UPLOAD_FOLDER 路径保存在实例文件夹中的 flask.cfg 文件中:

# flask.cfg
TOP_LEVEL_DIR = os.path.abspath(os.curdir)
UPLOAD_FOLDER = TOP_LEVEL_DIR + '/project/static/img/'

这是 route.py

from flask import render_template, Blueprint, request, redirect, url_for, flash
from project.models import Plants
from .forms import AddPlantForm, EditPlantForm
from project import db, app
from werkzeug.utils import secure_filename
import os

ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif'])

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

@plants_blueprint.route('/new', methods=['GET','POST'])
def add_plant():
    form = AddPlantForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            if 'plant_photo' not in request.files:
                flash('No plant photo added')
                return redirect(request.url)

            file = request.files['plant_photo']

            if file.filename=='':
                flash('No plant photo selected ')
                return redirect(request.url)


            if file and allowed_file(file.filename):
                filename = secure_filename(file.filename)
                file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
                url = os.path.join(app.config['IMAGE_URL'], filename)
            else:
                filename = ''
                url = ''

下面一行的 KeyError

#KeyError: 'UPLOAD_FOLDER'
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM