在React Native中使用expo解压文件

问题描述 投票:0回答:1

我使用 expo 来运行我的 IOS 和 Android 应用程序。 我想使用react-native-zip-archive lib,但是当我尝试运行我的代码时,我收到此错误

[类型错误:无法读取 null 的属性“解压缩”]

有人有解决办法吗?

const downloadAndExtractZip = async () => {
  try {
    // Définition des variables
    const zipUrl = "URL_DU_SITE";
    const fileUri = FileSystem.documentDirectory + "Chupaca.zip";
    const destinationDirectory = FileSystem.documentDirectory + 'maps/';
    const charset = "UTF-8";

    // Vérification de l'existence du fichier ZIP
    const fileInfo = await FileSystem.getInfoAsync(fileUri);

    if (fileInfo.exists) {
      const files = await FileSystem.readDirectoryAsync(FileSystem.documentDirectory);
      console.log('Contenu du répertoire :', files);
    }

    // Téléchargement du fichier ZIP
    const downloadFile = await FileSystem.downloadAsync(zipUrl, fileUri);

    if (downloadFile.status === 200) {
      console.log('Téléchargement du fichier ZIP terminé.')

      // Extraction du fichier ZIP
      console.log('Extraction du fichier ZIP...' + fileUri)
      await unzip(fileUri, destinationDirectory, charset)
      console.log('Extraction du ZIP terminée.');
    } else {
      console.log('Erreur lors du téléchargement du fichier ZIP.');
    }
  } catch (error) {
    console.error('Erreur lors de la récupération du fichier ZIP :', error);
  }
  ;
};

// Utilisation de la fonction pour télécharger et extraire le fichier ZIP
downloadAndExtractZip();

我尝试了几个库,但都不起作用。

react-native expo zip
1个回答
0
投票
*

我遇到了同样的麻烦,我的问题是,我已经解压了 BuilderX 项目,通过命令提示符进入目录,并输入了yarn和yarn start,我收到了这个错误和警告:“C:\Users\User \Desktop\CalculadoraTeste>yarn start yarn run v1.22.22 $ expo start 警告:旧版 expo-cli 不支持 Node +17。 迁移到新的本地 Expo CLI:https://blog.expo.dev/the-新的expo-cli-f4250d8e3421。┌──────────────────────────────────── ────────────────────────────────┐ │ │ │ 全局 expo-cli 软件包已被弃用 │ │ │ │ 新的 Expo CLI 现已捆绑在您的项目中的 expo 包中 │ │ 了解更多信息:https://blog.expo.dev/the-new-expo-cli-f4250d8e3421。使用本地 CLI(推荐在 SDK 46 及更高版本中使用),运行: │ │ › npx expo │ │ │ └──────────────────────── ──────────────────────────────────────────────────── ┘ › 端口 19000 是 √ 使用端口 19001 代替? ... 是 在 C:\Users\User\Desktop\CalculadoraTeste 启动项目 启动 Metro Bundler ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄ █ ▄▄▄▄▄ █ ▀▀▄ ▄██ █ ▄▄▄▄▄ █ █ █ █ ███ ▄▄ █▄ █ █ █ █ █ █▄▄ ▄█ █ ▄ ▄ █ ██▄█ █▄▄▄█ █ █▄▄▄▄▄▄▄█ █ ▀ █ ▀ █▄▄▄▄▄▄▄█ █ ▄▀█ ▄▀▄ ██▀ ▀▄▄ ▄▄█ █ █ █▀ █▄▄▄ ▄▀█▄██▄▄██▀▄█▄▄█▄█ █▄ ▀▄ █▄█ █▄ █ █ ███▀ ▀█ █▄▄▀▀█▀ ▄█▄ █▀ ▄ ▄█ ▄█▀▄█ █▄▄█▄▄▄▄█▀▀▄█▄▀ █ ▄▄▄ ▀█ █ █ ▄▄▄▄▄ █▀ ▀▄█ ▄ █ █▄ ███▀▄████▄██▄▄▄▄████▀▄▄▄▄▄▀▄▄▄▄▄█▄▄▄▄▄▄▄██▄▄█ ▄█▄▄▄▄██▄▄▄▄█▄▄███▄█ › 地铁正在等待 exp://192.168.1.113:19001 › 使用 Expo Go (Android) 或相机应用程序扫描上面的二维码 ( iOS) › 按 a │ 打开 Android › 按 w │ 打开网页 › 按 ? │ 显示所有命令 您的项目的日志将显示在下面。按 Ctrl+C 退出。无法构造变压器:错误:错误:0308010C:数字信封例程::在稳定Hash(C)的Object.createHash(节点:加密:139:10)的新哈希(节点:内部/加密/哈希:80:19)处不受支持:\用户\用户\桌面\CalculadoraTeste ode_modules\metro-cache\src\stableHash.js:19:8) 在 JsTransformer.getCacheKey (C:\Users\User\Desktop\CalculadoraTeste ode_modules\metro\src\JSTransformer\worker.js:478:7) 在 getTransformCacheKey (C:\Users\User\Desktop\CalculadoraTeste ode_modules\metro\src\DeltaBundler\Transformer\getTransformCacheKey.js:39:29) 在新的 Transformer (C:\Users\User\Desktop\CalculadoraTeste) ode_modules\metro\src\DeltaBundler\Transformer.js:147:28) 位于 C:\Users\User\Desktop\CalculadoraTeste ode_modules\metro\src\Bundler.js:54:29 { opensslErrorStack: [ '错误:03000086:数字信封例程::初始化错误', '错误:0308010C:数字信封例程::不支持' ], 库: '数字信封例程',原因:'不支持',代码:'ERR_OSSL_EVP_UNSUPPORTED'}“我该如何解决它

© www.soinside.com 2019 - 2024. All rights reserved.