您需要确保传递给
directory参数的值是绝对路径,并且已针对应用程序的 当前 位置进行了更正。
最好的方法是将其配置
UPLOAD_FOLDER为相对路径(没有前导斜线),然后通过前置使其绝对
current_app.root_path:
@app.route('/uploads/<path:filename>', methods=['GET', 'POST'])def download(filename): uploads = os.path.join(current_app.root_path, app.config['UPLOAD_FOLDER']) return send_from_directory(directory=uploads, filename=filename)重申这一点很重要,这一点
UPLOAD_FOLDER必须相对,例如,不能以开头
/。
相对路径 可能 有效,但在很大程度上取决于将当前工作目录设置为Flask代码所在的位置。并非总是如此。



