我正在编写一个使用 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")