我正在使用Flask并尝试提供文件供用户下载.
我的代码看起来像这样:
@app.route('/downloads/<string:yt_id>')
def download_file(yt_id):
def hooks(data):
if data['status'] == 'finished':
filename = data['filename']
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
'progress_hooks': [hooks],
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
ydl.download(['http://www.youtube.com/watch?v='+yt_id])
return send_from_directory(".",
filename,
as_attachment=True)
Run Code Online (Sandbox Code Playgroud)
我想上面代码中唯一相关的部分是这样的:
return send_from_directory(".",
filename,
as_attachment=True)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误消息:
NameError: global name 'send_from_directory' is not defined
Run Code Online (Sandbox Code Playgroud)
我已经看过几个人们如何使用的例子,send_from_directory我并没有看到我正在做的事情有多大的不同.所以任何帮助将不胜感激.
Raj*_*mon 17
你必须从烧瓶中进口......它应该......
from flask import send_from_directory
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7020 次 |
| 最近记录: |