gpt4 book ai didi

python - 使用 web2py 流式传输 couchdb 附件

转载 作者:行者123 更新时间:2023-11-28 18:51:50 25 4
gpt4 key购买 nike

我在 couchdb 数据库中有一些声音文件(与 web2py 无关)。我的 web2py 应用程序可以访问这个数据库,我想流式传输声音文件,以便可以使用 HTML 音频标签收听它们,如下所示:

<audio src="http://www.myserver.com/.../track06.mp3" preload="auto"></audio>

我计划基于此 suggested example 进行流式传输:

def streamer():
import os
path=os.path.join(request.folder,'private','largefile.mpeg4')
return response.stream(open(path,'rb'),chunk_size=4096)

但我有一些悬而未决的问题:

  1. 我的文件名 不在本地文件系统中,而是在couchdb 数据库中,可通过REST 访问。我如何打开进行流式传输?
  2. 音频标签在激活时会发送什么样的请求,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_doc_url 函数只是创建一个 url 来访问附件。content_type是固定的,但应该从附件中获取(我还不知道如何获取)。

关于python - 使用 web2py 流式传输 couchdb 附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11880330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com