LoginSignup
2
1

More than 3 years have passed since last update.

ブラウザ上でzipファイルを圧縮展開できるWebアプリを作ってみた

Last updated at Posted at 2020-06-25

こんにちわ。

創作意欲が湧いた勢いで、JavaScriptからzip形式のアーカイブを操作できる "JSZip" というライブラリを使用して、ブラウザ上でzipを圧縮展開できる簡単なWebアプリを作ってみました。

作ったもの

めちゃくちゃシンプルです。

Babelは通してないので、動作確認済のChrome以外は新生EdgeやFirefoxでなら多分動くと思います。

仕組み

凝ったことはしていないので、とても簡単です。

  1. Input要素でファイルを読込
  2. ファイルをワーカースレッドへ転送
  3. ワーカースレッドでJSZipをロードし圧縮展開
  4. 処理結果をメインスレッドへ転送
  5. a要素に処理結果のBlobURLを充ててダウンロード

全ての処理がローカルで完結しています。

ヘビータスクの圧縮展開はWebWorkerで処理しており、かつファイルはTypedArray化して参照渡し(Transferable Object)しているので、処理中の描画レスポンスへの影響はほとんどありません。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1