Python 使用web2py流式传输couchdb附件
我在Python 使用web2py流式传输couchdb附件,python,streaming,couchdb,web2py,html5-audio,Python,Streaming,Couchdb,Web2py,Html5 Audio,我在couchdb数据库中有一些声音文件(与web2py无关)。我的web2py应用程序可以访问此数据库,我希望流式传输声音文件,以便可以使用HTML音频标记收听它们,如下所示: <audio src="http://www.myserver.com/.../track06.mp3" preload="auto"></audio> 但我有一些悬而未决的问题: 我的filename不在本地文件系统中,而是在couchdb数据库中,可通过REST访问。我怎样才能打开它进行流
couchdb
数据库中有一些声音文件(与web2py无关)。我的web2py
应用程序可以访问此数据库,我希望流式传输声音文件,以便可以使用HTML音频标记收听它们,如下所示:
<audio src="http://www.myserver.com/.../track06.mp3" preload="auto"></audio>
但我有一些悬而未决的问题:
couchdb
数据库中,可通过REST访问。我怎样才能打开它进行流式处理web2py
处理吗基本上,我想知道是否有人通过
web2py
流式传输couchdb
附件的工作示例我现在使用的解决方案是:
def open_remote_recording():
recording_doc_id, recording_id = tuple(request.args)
url = get_doc_url(server = RECORDINGS_SERVER, database = RECORDINGS_DATABASE, doc_id = recording_doc_id, attachment = recording_id)
content_type = 'audio/mp3'
f = urllib.urlopen(url)
return f
@auth.requires_login()
def recordings():
f = open_remote_recording()
return response.stream(f, chunk_size=4096)
get\u doc\u url
函数只是创建一个url来访问附件。
内容类型是固定的,但这应该从附件中获得(我还不知道如何做到这一点)
def open_remote_recording():
recording_doc_id, recording_id = tuple(request.args)
url = get_doc_url(server = RECORDINGS_SERVER, database = RECORDINGS_DATABASE, doc_id = recording_doc_id, attachment = recording_id)
content_type = 'audio/mp3'
f = urllib.urlopen(url)
return f
@auth.requires_login()
def recordings():
f = open_remote_recording()
return response.stream(f, chunk_size=4096)