Получение содержимого zip-файла

#javascript #typescript #axios #fetch #jszip

#javascript #typescript #axios #извлечение #jszip

Вопрос:

Это URL ниже указывает на zip-файл, который содержит файл с именем bundlesizes.json . Я пытаюсь прочитать содержимое этого json файла в моем React приложении (без node участия сервера / серверной части)

 https://dev.azure.com/uifabric/cd9e4e13-b8db-429a-9c21-499bf1c98639/_apis/build/builds/8838/artifacts?artifactName=dropamp;api-version=4.1amp;$format=zip
  

Я смог получить содержимое zip файла, выполнив следующее

 const url =
  'https://dev.azure.com/uifabric/cd9e4e13-b8db-429a-9c21-499bf1c98639/_apis/build/builds/8838/artifacts?artifactName=dropamp;api-version=4.1amp;$format=zip';
const response = await Axios({
  url,
  method: 'GET',
  responseType: 'stream'
});
console.log(response.data);
  

При этом создается zip-файл ( non-ascii символы). Тем не менее, я хочу прочитать содержимое bundlesizes.json файла внутри него.

Для этого я просмотрел jszip и попробовал следующее,

 var zip = new JSZip();
zip.createReader(
  new zip.BlobReader(response.data),
  function(reader: any) {
    // get all entries from the zip
    reader.getEntries(function(entries: any) {
      if (entries.length) {
        // get first entry content as text
        entries[0].getData(
          new zip.TextWriter(),
          function(text: any) {
            // text contains the entry data as a String
            console.log(text);

            // close the zip reader
            reader.close(function() {
              // onclose callback
            });
          },
          function(current: any, total: any) {
            // onprogress callback
            console.log(current);
            console.log(total);
          }
        );
      }
    });
  },
  function(error: any) {
    // onerror callback
    console.log(error);
  }
);
  

Однако у меня это не работает и выдает ошибки.
Это ошибка, которую я получаю

введите описание изображения здесь

Как я могу прочитать содержимое файла в zip-файле в моем React приложении с помощью Javascript / Typescript ?