Hello,
I am trying to configure an S3 bucket and a CloudFront distribution that points to that bucket to allow to download large binary files in parts (with gzip compression) using the GET Range header. So far without success:
let request = new XMLHttpRequest();
request.open("GET", path, true);
request.setRequestHeader("Range", `bytes=${startByte}-${endByte}`);
request.responseType = "arraybuffer"; // or 'blob';
request.send();
In S3, each binary file has the following metadata:
Content-Encoding: gzip
Content-Type: binary/octet-stream
S3 CORS configuration is as follows:
[
{
"AllowedHeaders": [
""
],
"AllowedMethods": [
"GET",
"HEAD"
],
"AllowedOrigins": [
""
],
"ExposeHeaders": []
}
]
Files can be downloaded correctly without the Range header.
When using the range header xmlhttp.onerror = (e) => {} is triggered.
In the Chrome network debugging section I see "net::ERROR_CONTENT_DECODING_FAILED."
Any ideas how to solve this?