Fixes compressed downloads (#5014)

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
F.D.Castel 2023-06-27 20:13:14 -03:00 committed by GitHub
parent 9a149a7aba
commit c82be2cd60
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -546,22 +546,11 @@ class DownloadBinaryRequestHandler(BaseHandler):
return
with open(path, "rb") as f:
while True:
# For a 528KB image used as benchmark:
# - using 256KB blocks resulted in the smallest file size.
# - blocks larger than 256KB didn't improve the size of compressed file.
# - blocks smaller than 256KB hindered compression, making the output file larger.
data = f.read()
if compressed:
data = gzip.compress(data, 9)
self.write(data)
# Read file in blocks of 256KB.
data = f.read(256 * 1024)
if not data:
break
if compressed:
data = gzip.compress(data, 9)
self.write(data)
self.finish()