zlib.js 0.2.0のzip.js/zip.min.jsのバグの修正[ZIPファイルの破損]
Imayaさんが公開されている「zlib.js 0.2.0」のZIP圧縮ライブラリ「zip.js/zip.min.js」で作成したZIPファイルが破損している不具合を修正する方法です。
ZIPの破損
「zip.js/zip.min.js」で作成したZIPファイルを世界的にメジャーな「7-ZIP」で展開すると「データのペイロード後にデータが存在します」という警告メッセージが表示されます。
詳細は「データのペイロード後にデータが存在します」をご覧ください。
ソースコードの修正方法
zip.js
[誤] 276行目
endOfCentralDirectorySize = 46 + (this.comment ? this.comment.length : 0);
[正] 276行目
endOfCentralDirectorySize = 22 + (this.comment ? this.comment.length : 0);
zip.min.js
[誤]
a=new (H?Uint8Array:Array)(l+p+(46+(this.d?this.d.length:0)))
[正]
a=new (H?Uint8Array:Array)(l+p+(22+(this.d?this.d.length:0)))
不具合の内容
「ZIPセントラルディレクトリの終端レコード」のサイズが「ZIPセントラルディレクトリファイルヘッダ」のサイズになっているだけです。
この件の不具合は著者のImayaさんに伝えていません。というのは、このライブラリを作成して2、3年は更新されていないからです...
スポンサーリンク
関連記事
前の記事: | JavaScriptでクリップボードの貼り付けに対応する[HTML5のClipboard API/contenteditable] |
次の記事: | MEDIA12899: オーディオ/ビデオ: 不明な MIME の種類です。 |
公開日:2016年04月25日
記事NO:01917