我有一个具有结构的 my_folder.tar.gz
存档
my_folder.tar.gz:
my_folder/
file1
file2
我构建了一个基本的 flask 端点,比如:
@blueprint.route('/download')
def download():
return send_file('/path/to/my_folder.tar.gz',
as_attachment=True,
attachment_filename='my_name.tar.gz')
当我第一次运行它时,一切运行顺利,浏览器下载了正确的存档。问题是当我第二次运行它时,在存档中有一个文件 my-name.tar-1
而不是我希望发送的文件夹。我再试一次,文件名 my-name.tar-2
等等。
事实证明,当我将 attachment_filename
参数更改为新值时,下载会再次运行,但也只会运行一次。 send_from_directory()
函数也会出现同样的情况。
这是一个非常奇怪的行为。有人知道会发生什么吗?
最佳答案
你必须使用,
return send_file('/path/to/my_folder.tar.gz',as_attachment=True, attachment_filename='my_name.tar.gz, cache_timeout=0')
关于python - flask send_file 不适用于 tar.gz 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064166/