无法提供静态文件
Cannot Serve Static Files
目前,在我的静态文件服务路由上向我的 API 发送邮递员请求会给我一个 404 错误,尽管我仔细检查了我是否从正确的路由获取。在添加 SocketIO 之前,服务器在服务文件方面运行良好。不幸的是,即使我删除了 flask-socketio 中间件,我也无法获取文件。目前,我已经很久没有接触这条路线了,所以我不确定到底发生了什么。
以前,我在启动 flask 应用程序对象时没有设置 static_url_path 和 static_folder 选项。我只是在阅读了其他一些答案后添加了它们,但无论它们是否存在,我都会收到 404。
我所有的其他路线都按预期工作。
UPLOAD_FOLDER = '/profile_pictures'
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
app = flask.Flask(__name__, static_url_path='/', static_folder="/profile_pictures")
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
UPLOAD_FOLDER = './profile_pictures'
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
#unrelated code
@app.route('/profile_pictures/<filename>', methods=['GET'])
@cross_origin(supports_credentials=True)
def get_profile_picture(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],filename, as_attachment=True)
非常感谢任何关于可能是什么问题的见解。
静态文件不需要 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
基本上用于 css
、js
和 images
等静态文件。
route
供用户直接下载文件。
最后我将 UPLOAD_FOLDER 目录设置为
UPLOAD_FOLDER = '/profile_pictures'
它应该在的地方
UPLOAD_FOLDER = 'profile_pictures'
感谢@Alexander 的回答:)
目前,在我的静态文件服务路由上向我的 API 发送邮递员请求会给我一个 404 错误,尽管我仔细检查了我是否从正确的路由获取。在添加 SocketIO 之前,服务器在服务文件方面运行良好。不幸的是,即使我删除了 flask-socketio 中间件,我也无法获取文件。目前,我已经很久没有接触这条路线了,所以我不确定到底发生了什么。
以前,我在启动 flask 应用程序对象时没有设置 static_url_path 和 static_folder 选项。我只是在阅读了其他一些答案后添加了它们,但无论它们是否存在,我都会收到 404。
我所有的其他路线都按预期工作。
UPLOAD_FOLDER = '/profile_pictures'
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
app = flask.Flask(__name__, static_url_path='/', static_folder="/profile_pictures")
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
UPLOAD_FOLDER = './profile_pictures'
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
#unrelated code
@app.route('/profile_pictures/<filename>', methods=['GET'])
@cross_origin(supports_credentials=True)
def get_profile_picture(filename):
return send_from_directory(app.config['UPLOAD_FOLDER'],filename, as_attachment=True)
非常感谢任何关于可能是什么问题的见解。
静态文件不需要 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
基本上用于 css
、js
和 images
等静态文件。
route
供用户直接下载文件。
最后我将 UPLOAD_FOLDER 目录设置为
UPLOAD_FOLDER = '/profile_pictures'
它应该在的地方
UPLOAD_FOLDER = 'profile_pictures'
感谢@Alexander 的回答:)