如何允许用户使用 Flask 下载 MIDI 文件而无需下载 0 字节



我正在编写一个使用 MIDIUtil 库创建 midi 文件的应用程序。当用户提交 HTML 表单时,将使用 MIDIUtil 创建一个 midi 文件对象。如何允许用户将其下载为.mid文件?我尝试了以下代码,但我最终下载了一个 0 字节的文件。

return Response(myMIDIFile, mimetype='audio/midi')

我使用以下代码的变体来允许我的用户下载他们生成的图像。下面的代码应该适合你。请注意,您很可能需要指定正在下载的文件的完整服务器路径。

from flask import send_file
download_filename = FULL_PATH_TO_YOUR_MIDI_FILE
return(send_file(filename_or_fp = download_filename,mimetype="audio/midi",as_attachment=True))

我最终使用了这个,它奏效了。

new_file = open('test.mid', 'wb')
myMIDI.writeFile(new_file)
new_file.close()
new_file = open('test.mid', 'rb')
return send_file(new_file, mimetype='audio/midi')
可能

只想尝试使用send_file

from flask import send_file
return send_file("yourmidifile.mid", as_attachement=True, mimetype="audiomidi")

最新更新