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?

preguntada hace un año327 visualizaciones
1 Respuesta
0

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

profile pictureAWS
EXPERTO
kentrad
respondido hace un año

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas