Compression et décompression dans le navigateur avec l'API Compression Streams
bookmark_borderbookmark
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Écrire des applications Web plus petites qui n'ont pas besoin d'inclure leur propre bibliothèque de compression ou de décompression
L'API Compression Streams permet de compresser et de décompresser des flux de données à l'aide des formats gzip ou deflate (ou deflate-raw).
Avec la compression intégrée, les applications JavaScript n'ont pas besoin d'inclure de bibliothèque de compression, ce qui réduit la taille de téléchargement de l'application. Chrome stable et la version Preview de la technologie Safari sont désormais compatibles avec cette API utile. La compression des données est affichée ici.
const readableStream = await fetch('lorem.txt').then(
(response) => response.body
);
const compressedReadableStream = readableStream.pipeThrough(
new CompressionStream('gzip')
);
Pour décompresser, pipez un flux compressé via le flux de décompression.
const decompressedReadableStream = compressedReadableStream.pipeThrough(
new DecompressionStream('gzip')
);
Démo
Prise en charge des navigateurs
L'API Compression Streams est compatible avec Chromium 80 et Safari Technology Preview 152.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2022/08/29 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2022/08/29 (UTC)."],[],[]]