Fix GCP Cloud Storage Object Compress Errors
When working with GCP Cloud Storage, you may encounter a configuration error that prevents your deployment from working. This guide explains the most common mistake with object compress and shows the exact fix.
A Common Mistake
Uploading a file that is already compressed (e.g., .zip or .gz) and setting Content-Encoding: gzip, causing the file to be double-compressed and served as a corrupted download.
The incorrect command:
gsutil -h "Content-Encoding:gzip" cp myfile.zip gs://my-bucket/
Error output:
Copying file://myfile.zip [Content-Encoding=zip]...
When a browser downloads the file, it receives the .zip with Content-Encoding: gzip. The browser automatically decompresses it, resulting in a corrupted file. The user sees 'Error: The archive is in unknown format or damaged.'
The Correct Approach
The right way to configure object compress in GCP Cloud Storage:
gsutil cp myfile.zip gs://my-bucket/
Successful result:
Copying file://myfile.zip [Content-Type=application/zip]...
The file is uploaded with the correct Content-Type (application/zip). Browsers download it as-is and present it to the user as a ZIP archive. No double compression occurs.
How to Prevent This
Only set Content-Encoding: gzip for text-based content (HTML, CSS, JS, JSON, CSV) that your server compresses before upload. Never set it for already-compressed binary formats (zip, gz, jpg, png, mp4). Detect this issue with gsutil ls -L gs://bucket/file and check Content-Encoding vs Content-Type.
FAQ
Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Secure your cloud with DodaTech.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro