В последнее время я окунулся в JSI и C, и в результате мне пришлось собрать небольшой пакет под названием response-native-lz4. Это библиотека для быстрого сжатия файлов в React Native с использованием алгоритма LZ4, написанного на C.
Он все еще находится в стадии эксперимента, поскольку я все еще совершенствую обработку ошибок и расширяю его API, но его уже можно использовать (с осторожностью!)
Пакет: https://github.com/mateoguzmana/react-native-lz4
Подробнее о LZ4 можно узнать на его сайте: https://lz4.org/
Пакет поддерживает как старую, так и новую архитектуру и в настоящее время предоставляет две основные функции для сжатия и распаковки файлов любого типа.
Базовый пример:
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 }
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3