在运行时更改上传路径(UPLOAD_FOLDER)

4

如何在运行时更改上传文件夹?我想能够更改文件上传的位置,但我不知道该如何操作。

我尝试了以下内容,但出现了 KeyError

@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    path = 'uploads/text'
    if file and allowed_file(file.filename):
        filename = secure_filename(file.filename)
        UPLOAD_FOLDER = path
        file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
        return redirect(url_for('uploaded_file',
                                filename=filename))
2个回答

8
你可以尝试这个。
file.save(os.path.join(/path/to/save/, filename))

在您的

UPLOAD_FOLDER = path
file.save(os.path.join(UPLOAD_FOLDER, filename))

哦,这很简单 :) 谢谢! - user3448282
app.config 的作用是什么? - JobHunter69

0
你可以尝试下面的代码。对我来说效果非常完美。
base_path = os.path.abspath(os.path.dirname(__file__))
upload_path = os.path.join(base_path, app.config['UPLOAD_FOLDER'])
f.save(os.path.join(upload_path, secure_filename(f.filename)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接