其他分享
首页 > 其他分享> > 我如何使Flask流具有HTTP 206部分内容的静态文件?

我如何使Flask流具有HTTP 206部分内容的静态文件?

作者:互联网

我想在Flask支持的网站上使用循环播放的视频.显然,Chrome不会循环播放视频unless it was streamed with an HTTP 206 code being returned.但是,Flask始终使用HTTP 200返回此静态文件.如何从我的Flask项目(作为记录托管在Heroku中)中流式传输静态内容,以使视频正确循环在Chrome中?

解决方法:

在提供视频文件时遇到了同样的问题,并且通过研究Werkzeug的源代码找到了解决方案.我通过在send_from_directory函数中添加conditional = True标志来解决此问题,如下所示:

@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)

标签:google-chrome,http,flask,werkzeug,python
来源: https://codeday.me/bug/20191029/1960475.html