我有一个在本地运行的lighttpd服务器。如果我在服务器上加载一个静态文件(通过一个html5音频标签),它就可以播放并且搜索得很好。
但是,在运行开发服务器(web.py/CherryPy)时,或者通过已定义的操作URL而不是静态文件返回字节时,搜索不起作用。它也不会加载持续时间。
根据this Opera Page中的“HTTP字节范围请求”部分,它与支持字节范围请求/部分内容响应有关。内容被视为流式传输。
我不明白的是:
非常感谢任何建议。
答案 0 :(得分:1)
这里有一些web.py代码可以帮助您入门(恰好也需要这个并遇到您的问题):
## experimental partial content support
## perhaps this shouldn't be enabled by default
range = web.ctx.env.get('HTTP_RANGE')
if range is None:
return result
total = len(result)
_, r = range.split("=")
partial_start, partial_end = r.split("-")
start = int(partial_start)
if not partial_end:
end = total-1
else:
end = int(partial_end)
chunksize = (end-start)+1
web.ctx.status = "206 Partial Content"
web.header("Content-Range", "bytes %d-%d/%d" % (start, end, total))
web.header("Accept-Ranges", "bytes")
web.header("Content-Length", chunksize)
return result[start:end+1]
答案 1 :(得分:0)
谷歌告诉我你必须使用staticFilter来实现字节范围在CherryPy中工作 - 但这仅适用于静态文件。幸运的是,this posting还包含有关如何为非静态数据执行此操作的指示: - )