Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh menyahzip fail dengan JavaScript dan memaparkan kandungannya dalam pelayar web?

Bagaimanakah saya boleh menyahzip fail dengan JavaScript dan memaparkan kandungannya dalam pelayar web?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 09:55:01871semak imbas

How can I unzip files with JavaScript and display their contents in a web browser?

Cara Menyahzip Fail dengan JavaScript

Anda mahu memaparkan fail OpenOffice (.odt dan .odp) dalam pelayar web pada klien sebelah. Walau bagaimanapun, fail ini dizip dan anda tidak dapat menyahzipnya menggunakan inflate.js.

Untuk menyelesaikan isu ini, anda boleh menggunakan penyelesaian alternatif berikut:

Kod JavaScript yang disediakan termasuk nyahzip yang membolehkan anda mengendalikan fail berzip dengan cekap. Ia menggunakan pembaca fail binari dan mengembang logik untuk unzip fail. Kelas ZipFile bertanggungjawab untuk mengendalikan proses nyahzip.

Berikut ialah pecahan cara nyahzip berfungsi:

1. Mulakan Objek ZipFile:

<code class="javascript">var zipFile = new ZipFile(url, doneReading);</code>

2. Ekstrak Entri:

<code class="javascript">var extractCb = function(id) {
    // this callback is invoked with the entry name, and entry text
    // in my demo, the text is just injected into an accordion panel.
    return (function(entryName, entryText){
        var content = entryText.replace(new RegExp( "\n", "g" ), "<br/>");
        $("#"+id).html(content);
        $("#status").append("extract cb, entry(" + entryName + ")  id(" + id + ")<br/>");
        $('#report').accordion('destroy');
        $('#report').accordion({collapsible:true, active:false});
    });
}</code>

Untuk setiap entri dalam fail zip, nyahzip mengekstrak kandungan dan menggunakan panggilan balik tak segerak untuk mengendalikan data yang diekstrak.

3. Paparkan Data yang Diekstrak:
Dalam contoh yang disediakan, data yang diekstrak dipaparkan dalam panel akordion. Walau bagaimanapun, anda boleh menyesuaikan langkah ini untuk memenuhi keperluan anda.

Ciri dan Had:

  • Penyelesaian ini mampu mengendalikan fail binari dan teks.
  • Ia menyokong nama fail yang dikodkan UTF-8.
  • Ia tidak mengendalikan semua pilihan fail zip, seperti penyulitan atau Zip64.
  • Ia boleh menjadi perlahan untuk fail zip besar disebabkan oleh sifat tak segerak JavaScript.

Kesimpulan:

Penyelesaian JavaScript yang disediakan membolehkan anda menyahzip fail dengan cekap dan memaparkannya pada sisi klien. Ini adalah pilihan yang baik apabila anda perlu bekerja dengan fail berzip dalam penyemak imbas web, tetapi perlu diingati hadnya dan pilih pendekatan yang paling sesuai dengan keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menyahzip fail dengan JavaScript dan memaparkan kandungannya dalam pelayar web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn