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:
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!