龙卷风-如何从龙卷风处理程序返回tar.gz

时间:2019-02-26 23:34:43

标签: python tornado tar

我正试图从龙卷风GET服务器处理程序返回(使用tarfile库创建的tar.gz文件,以便以后可以从客户端将其用作new File([test.tar.gz])使用。我正在使用下面的代码,但这将返回tarfile的二进制文件,而不是实际文件本身。我还尝试了self.set_header('Content-Type', 'application/gzip'),它似乎没有压缩就返回了tarfile。

@json_errors
@web.authenticated
@gen.coroutine
def get(self):
    self.set_header('Content-Type', 'application/octet-stream')

    with open('test.tar.gz', "rb") as f:
        try:
            while True:
                _buffer = f.read(4096)
                if _buffer:
                    self.write(_buffer)
                else:
                    f.close()
                    self.finish()
                    return
        except:
            raise HTTPError(404)
    raise HTTPError(500)

任何帮助都会很棒...

0 个答案:

没有答案