gpt4 book ai didi

python - Flask-Uploads URL 始终是 404

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:11 24 4
gpt4 key购买 nike

我正在使用 Flask-Uploads上传文件并输出 URL。但是,出于某种原因,URL 总是指向 404!我可以在正确的文件夹中看到该文件,但 URL 似乎无法找到它。这是我正在使用的配置...

UPLOADS_DEFAULT_URL = os.environ.get("UPLOADS_URL", "http://localhost:5000/")
UPLOADS_DEFAULT_DEST = "app/uploads"

我还有一个上传集定义为:

productUploadSet = UploadSet('plist', extensions=('xlsx', 'csv', 'xls'))

该文件位于“app/uploads/plist/filename.csv”中,我会得到一个返回给我的 url,如“http://localhost:5000/productlist/filename.csv”,但无论何时我打开该 URL,它始终是 404。我知道Flask-Uploads 的 url 方法实际上并没有检查文件是否存在,但我可以看到文件确实存在。它是否以某种方式看错了地方?感谢您的帮助。

最佳答案

来自 Flask's guide to uploading files :

Now one last thing is missing: the serving of the uploaded files. As of Flask 0.5 we can use a function that does that for us:

from flask import send_from_directory

@app.route('/uploads/<filename>')
def uploaded_file(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],
filename)

Alternatively you can register uploaded_file as build_only rule and use the SharedDataMiddleware. This also works with older versions of Flask:

from werkzeug import SharedDataMiddleware
app.add_url_rule('/uploads/<filename>', 'uploaded_file',
build_only=True)
app.wsgi_app = SharedDataMiddleware(app.wsgi_app, {
'/uploads': app.config['UPLOAD_FOLDER']
})

如果不实现其中之一,Flask 就不知道如何提供上传的文件。

关于python - Flask-Uploads URL 始终是 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com