烧瓶send_file无法与tar.gz文件一起使用

问题描述 投票:3回答:1

我有一个具有结构的my_folder.tar.gz存档

my_folder.tar.gz:
    my_folder/
        file1
        file2

并且我构造了一个基本的烧瓶端点,例如:

@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()功能也会发生相同的情况。

这是非常奇怪的行为。有人知道会发生什么吗?

我有一个my_folder.tar.gz档案,其结构为my_folder.tar.gz:my_folder / file1 file2并构造了一个基本的烧瓶端点,例如:@ blueprint.route('/ download')def ...

python flask tar gzip sendfile
1个回答
0
投票

您必须使用,

© www.soinside.com 2019 - 2024. All rights reserved.