Und*_*ryx 5 python google-chrome http werkzeug flask
我想在由 Flask 提供支持的网站上使用循环视频。显然,Chrome 不会循环播放视频,除非它是通过返回的 HTTP 206 代码流式传输的。然而,Flask 总是返回带有 HTTP 200 的静态文件。如何从我的 Flask 项目(托管在 Heroku 上,作为记录)流式传输静态内容以使视频在 Chrome 中正确循环?
我在提供视频文件时遇到了同样的问题,我通过深入研究Werkzeug. 我通过conditional=True在send_from_directory函数中添加标志来解决它,如下所示:
@app.route('/uploads/<filename>')
def uploaded_file(filename):
"""Endpoint to serve uploaded videos
Use `conditional=True` in order to support range requests necessary for
seeking videos.
"""
return send_from_directory(app.config['UPLOAD_FOLDER'], filename,
conditional=True)
Run Code Online (Sandbox Code Playgroud)
Flask 中的响应对象有一个可以传递的“status_code”参数。有关更多详细信息,请参阅此文档,但本质上,您可能希望对 Response 对象进行子类化。
另请查看make_response() - 它可能会揭示一种更简单的方法,具体取决于您的应用程序结构。
查看流模式以了解更多详细信息,但它适合生成内容而不是静态内容。
| 归档时间: |
|
| 查看次数: |
3369 次 |
| 最近记录: |