gpt4 book ai didi

python - Django:如何正确提供mp3文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:27 25 4
gpt4 key购买 nike

问题是我无法通过点击谷歌浏览器中的时间轴来改变播放位置(它总是从头到尾播放)
如果 Nginx 向客户端提供 mp3 文件,则一切都OK,我可以更改播放位置。


在我的脚本中,我以这种方式提供 mp3:

from django.core.servers.basehttp import FileWrapper
wrapper = FileWrapper(file( 'mp3file.mp3' ))
response = HttpResponse(wrapper, content_type='audio/mpeg')
response['Content-Length'] = os.path.getsize( 'mp3file.mp3' )
return response

网址是:http://server/mp3/###.mp3

所以整个文件都给了客户端,但是还是打pos不能改。怎么了?

附言:不要使用任何专有的 sh*t,如 mp3 - 使用“.ogg”格式

最佳答案

这是因为 header 应该处理额外的 header (如 Accept-Ranges),并且它应该处理部分文件请求

在 Django 内部做这种事情本身就是一团糟(我前段时间试过),但后来我最终使用 Apache 来提供文件(这样你就不会浪费资源)

可以考虑使用mod_xsendfile能够使用 apache 从您的 django View 提供文件,例如:

response = HttpResponse(mimetype='audio/mpeg')
response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name)
response['Accept-Ranges'] = 'bytes'
response['X-Sendfile'] = smart_str(path_to_file)
return response

关于python - Django:如何正确提供mp3文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057215/

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