Пытаюсь разархивировать архив React Native
помогите, пожалуйста с созданием папки в Android/Data/MyFolder и разархивированием архива из папки Downloads в папку Android/Data/MyFolder, я уже смог скачать архив в папку Donwloads/.
import React, { useState, useEffect } from 'react';
import { StatusBar } from 'expo-status-bar';
import { StyleSheet, Text, View, SafeAreaView, FlatList, Platform, TouchableOpacity, Dimensions, Image, ScrollView, ImageBackground, Linking, Button, Alert } from 'react-native';
import * as Permissions from 'expo-permissions';
import * as FileSystem from 'expo-file-system';
import * as MediaLibrary from 'expo-media-library';
import { unzip } from 'react-native-zip-archive';
export default function App() {
const downloadAndUnzip = async () => {
const { status } = await Permissions.askAsync(Permissions.MEDIA_LIBRARY_WRITE_ONLY);
if (status !== 'granted') {
Alert.alert('Ошибка', 'Разрешение на запись в папку Downloads не предоставлено!');
return;
}
const url = 'https://vkteam.site/image.zip';
const fileUri = 'file://storage/emulated/0/Download/' + 'archive.zip';
try {
const downloadObject = FileSystem.createDownloadResumable(
url,
fileUri,
{},
downloadProgressCallback
);
const result = await downloadObject.downloadAsync();
if (result.status === 200) {
Alert.alert('Скачано', 'Архив скачан')
} else {
Alert.alert('Ошибка', 'Не удалось загрузить архив!');
}
} catch (err) {
console.error(err);
Alert.alert('Ошибка', 'Не удалось загрузить архив!');
}
};
const downloadProgressCallback = progress => {
const progressPercent = Math.floor(
(progress.totalBytesWritten / progress.totalBytesExpectedToWrite) * 100
);
console.log(`Загрузка: ${progressPercent}%`);
};
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Button title="Скачать и разархивировать" onPress={downloadAndUnzip} />
</View>
);
}