我要实现的是从带有static_file的路径下载文件(压缩日志文件夹)并保留原始文件名。这是我的代码:
@app.route('/logs')
def download_logs():
filename = 'logs_' + time.strftime("%Y%m%d-%H%M%S")
print(filename)
shutil.make_archive(filename, 'zip', 'logs/')
return static_file(filename + '.zip', './')
因此,如您所见,我想压缩日志文件夹以按日期和时间命名以存档并下载文件。下载的文件应使用与我在后端压缩的文件名相同的名称下载。当前文件下载为logs.zip,因此它获取路径的名称。
答案 0 :(得分:1)
使用download
参数。这将迫使浏览器显示下载对话框-在您的情况下,这是自动发生的,因为浏览器无法打开zip文件。但是,如果您尝试“下载”,例如这样的HTML页面,它将直接显示而不是下载。
更重要的是,这使您可以指定浏览器用于保存下载文件的文件名。就您而言,使用static_file(filename + ".zip". "./", download=True)
(使用原始文件名)就足够了。或者,您可以使用download="my.name.goes.here"
提供您自己的名称。看看documentation中的“强制下载”。