Как распаковать строку в React - PullRequest
0 голосов
/ 18 октября 2019

Ответ от API - это заархивированная папка из трех маленьких файлов. Я получил этот ответ в строке. Я хочу отобразить содержимое одного из файлов и сохранить другой в локальном хранилище браузера для дальнейшего использования. У меня проблемы с расстегиванием молнии. Как мне сделать это без доступа к файловой системе?

fetch(URL,
        {
            method: 'GET',
            headers: {
                'API-KEY': API_Key,
            },
        }).then(response => response.text()).then(zippedFolderAsString => {
            // Need to unzip
        });

1 Ответ

1 голос
/ 21 октября 2019

Вот как я это решил. Я использовал JSZip , который может принимать двоичные объекты в качестве входных данных, а не путь к файлу, как в большинстве других библиотек.

import JSZip from 'jszip';
...
var new_zip = new JSZip();
new_zip.loadAsync(zippedFolderAsBlob).then(async function(zipped) {
    var jsonFile = await zipped.file("theJsonFile.json").async("text");
})
...