|
@@ -119,14 +119,19 @@ class FileDecompressor {
|
|
|
try {
|
|
|
return await zip.unpack(filename, outputDir, {
|
|
|
limitFileSize: this.limitFileSize,
|
|
|
- limitFileCount: 1000
|
|
|
- });
|
|
|
+ limitFileCount: 1000,
|
|
|
+ decodeEntryNameCallback: (nameRaw) => {
|
|
|
+ return utils.bufferRemoveZeroes(nameRaw);
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
} catch (e) {
|
|
|
fs.emptyDir(outputDir);
|
|
|
return await zip.unpack(filename, outputDir, {
|
|
|
limitFileSize: this.limitFileSize,
|
|
|
limitFileCount: 1000,
|
|
|
decodeEntryNameCallback: (nameRaw) => {
|
|
|
+ nameRaw = utils.bufferRemoveZeroes(nameRaw);
|
|
|
const enc = textUtils.getEncodingLite(nameRaw);
|
|
|
if (enc.indexOf('ISO-8859') < 0) {
|
|
|
return iconv.decode(nameRaw, enc);
|