#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
?