[英]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.