无法提供静态文件

时间:2021-05-17 23:56:45

标签: python flask socket.io flask-socketio

目前,在我的静态文件服务路由上向我的 API 发送邮递员请求给我一个 404 错误,尽管我仔细检查了我从正确的路由获取。在添加 SocketIO 之前,服务器在提供文件方面运行良好。不幸的是,即使我删除了 Flask-socketio 中间件,我也无法提供文件。目前,我已经很久没有接触过这条路线,所以我不确定到底发生了什么。

以前,我在启动 Flask 应用程序对象时没有设置 static_url_path 和 static_folder 选项。我只是在阅读了其他一些答案后添加了它们,但无论它们是否存在,我都会收到 404。

我所有的其他路线都按预期工作。

{{1}}

非常感谢您对问题的任何见解。

2 个答案:

答案 0 :(得分:0)

对于静态文件,您不需要同时使用 static_url_path='/', static_folder="/profile_pictures"route

选择您喜欢使用的一个并删除另一个。

或更改

static_url_path='/', static_folder="/profile_pictures"

进入

static_url_path='/static', static_folder="/profile_pictures"

和静态文件都可以访问

HOST:PORT/static/<filename>HOST:PORT/profile_pictures/<filename>

static_folder 基本上用于静态文件,如 cssjsimagesroute 供用户直接下载文件。

答案 1 :(得分:0)

最终我将 UPLOAD_FOLDER 目录设置为

UPLOAD_FOLDER = '/profile_pictures'

它应该去的地方

UPLOAD_FOLDER = 'profile_pictures'

感谢@亚历山大的回答:)