gpt4 book ai didi

python - 从cherrypy 提供mp3 文件

转载 作者:行者123 更新时间:2023-11-30 23:56:23 26 4
gpt4 key购买 nike

我使用cherrypy作为服务器。该服务器使您能够下载 .mp3 文件。我使用以下代码使 .mp3 文件可下载。问题是我下载后得到的mp3文件是一个数据文件,实际上应该是一个mp3文件。

import glob
import os.path
import cherrypy
from cherrypy.lib.static import serve_file

class Root:
def index(self, directory="."):

html = """<html><body><h2>Here are the files in the selected directory:</h2>
<a href="index?directory=%s">Up</a><br />
""" % os.path.dirname(os.path.abspath(directory))
for filename in glob.glob(directory + '/*'):
absPath = os.path.abspath(filename)
if os.path.isdir(absPath):
html += '<a href="/index?directory=' + absPath + '">' + os.path.basename(filename) + "</a> <br />"
else:
html += '<a href="/download/?filepath=' + absPath + '">' + os.path.basename(filename) + "</a> <br />"

html += """</body></html>"""
return html
index.exposed = True

class Download:

def index(self, filepath):
return serve_file(filepath, "audio/mpeg", "attachment")
index.exposed = True

if __name__ == '__main__':
root = Root()
root.download = Download()
cherrypy.quickstart(root)

最佳答案

尝试将包含 mp3 文件的目录设置为静态目录。你的cherrypyconf应该包含这样的内容:

    '/directory_with_mp3s': {
'tools.staticdir.on': True,
'tools.staticdir.dir': 'directory_with_mp3s'
}

这将允许您摆脱 Download 类,只需在 html 中创建指向 mp3 文件的链接,如下所示:

<a href="directory_with_mp3s/somemp3.mp3">some mp3</a>

关于python - 从cherrypy 提供mp3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283890/

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