S3/CloudFront problem while trying to fetch gziped files using XMLHttpRequest with Range headers

0

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?

1 Resposta
0

Could it be that the part is too large? Use range requests to cache large objects

profile pictureAWS
ESPECIALISTA
kentrad
respondido há um ano

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas