Je me suis plongé dans JSI et C ces derniers temps et, par conséquent, j'ai pu créer un petit package appelé React-native-lz4. C'est une bibliothèque pour une compression rapide de fichiers dans React Native en utilisant l'algorithme LZ4 écrit en C.
Il est encore expérimental car je suis encore en train de peaufiner la gestion des erreurs et d'étendre son API mais il peut déjà être utilisé (avec prudence !)
Package : https://github.com/mateoguzmana/react-native-lz4
Vous pouvez en savoir plus sur LZ4 sur son site internet : https://lz4.org/
Le package prend en charge à la fois l'ancienne et la nouvelle architecture et expose actuellement deux fonctions principales pour compresser et décompresser tout type de fichier.
Exemple de base :
import { compressFile, decompressFile } from 'react-native-lz4'; function onProgress(processedSize: number, totalSize: number) { // e.g. { processedSize: 50, totalSize: 100, progress: '50%' } console.log({ processedSize, totalSize, progress: `${Math.round((processedSize / totalSize) * 100)}%`, }); } const compressionResult = await compressFile( 'path/to/file', 'path/to/output', onProgress ); const decompressionResult = await decompressFile( 'path/to/file', 'path/to/output', onProgress ); console.log(compressionResult); // { success: true, message: 'File compressed successfully', originalSize: 100, finalSize: 50 } console.log(decompressionResult); // { success: true, message: 'File decompressed successfully', originalSize: 50, finalSize: 100 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!