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>
但我有一些悬而未决的问题:

  • 我的filename不在本地文件系统中,而是在
    couchdb
    数据库中,可通过REST访问。我怎样才能打开它进行流式处理
  • 当音频标签被激活时,它将发送什么样的请求,GET/POST/。。。?这可以通过
    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)