Ich benutze cherrypy als Server. Dieser Server bietet Ihnen die Möglichkeit, MP3-Dateien herunterzuladen. Ich verwende den folgenden Code, um die MP3-Dateien herunterladbar zu machen. Das Problem ist, dass die mp3-Datei, die ich nach dem Download bekomme, eine Datendatei ist, die eigentlich eine mp3-Datei sein sollte.Serving mp3-Dateien von cherrypy
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)
Thank Sie für die Antwort James. Ich habe das Problem auf die gleiche Weise gelöst, aber vergessen, diesen Thread über das gleiche zu aktualisieren. Trotzdem, schätzen Sie Ihre Antwort. – chochim
Kein Problem. Wenn Sie das Gefühl haben, dass dies die richtige Antwort ist, möchten Sie es vielleicht als solche markieren, damit jeder, der in Zukunft über diese Frage stolpert, Bescheid weiß. – jamesaharvey