首页 > 解决方案 > 为什么我的代码将文件与服务器文件一起保存,而不是在上传文件夹中?

问题描述

我是烧瓶的新手,并试图让用户将我的脚本上传文件到脚本文件夹内的上传文件夹,但是当我用一个简单的文件测试脚本时,我将它上传到我的脚本运行的同一路径而不是上传文件夹


upload_path_ = "/uploads"


app = flask.Flask(__name__)
app.config["DEBUG"] = True


app.config["UPLOAD_FOLDER"] = upload_path_


@app.route('/upload')
def upload_file():
    return render_template('upload.html')



## uploading files to the server 
@app.route('/uploader' , methods=['GET', 'POST'])
def upload():
    if request.method == 'POST':
        f = request.files['file']
        f.save(secure_filename("sth"))

        return "File uploaded successfully "


标签: pythonflask

解决方案


Flask 文档中所示,UPLOAD_FOLDER配置名称不会作为全局设置告诉 Flask 将所有内容发送到您设置的目录。它被用作在您的应用程序设置时存储信息并在您需要的任何地方检索它的一种方式。

所以尝试替换这一行:

f.save(secure_filename("sth"))

经过

f.save(os.path.join(app.config['UPLOAD_FOLDER'], "sth"))

推荐阅读