1
0
Fork 0
mirror of https://github.com/codedread/bitjs synced 2025-10-03 09:39:16 +02:00

Use the file sniffer inside archive.js

This commit is contained in:
codedread 2020-04-02 23:43:24 -07:00
parent 1570f058f8
commit 60a6bf405c
2 changed files with 6 additions and 6 deletions

View file

@ -8,6 +8,8 @@
* Copyright(c) 2011 Google Inc. * Copyright(c) 2011 Google Inc.
*/ */
import { findMimeType } from '../file/sniffer.js';
/** /**
* An unarchive event. * An unarchive event.
*/ */
@ -381,12 +383,10 @@ export function getUnarchiver(ab, opt_pathToBitJS) {
let unarchiver = null; let unarchiver = null;
const pathToBitJS = opt_pathToBitJS || ''; const pathToBitJS = opt_pathToBitJS || '';
const h = new Uint8Array(ab, 0, 10); const mimeType = findMimeType(ab);
if (mimeType === 'application/x-rar-compressed') { // Rar!
// TODO: Use bitjs.file.sniffer.
if (h[0] == 0x52 && h[1] == 0x61 && h[2] == 0x72 && h[3] == 0x21) { // Rar!
unarchiver = new Unrarrer(ab, pathToBitJS); unarchiver = new Unrarrer(ab, pathToBitJS);
} else if (h[0] == 0x50 && h[1] == 0x4B) { // PK (Zip) } else if (mimetype === 'application/zip') { // PK (Zip)
unarchiver = new Unzipper(ab, pathToBitJS); unarchiver = new Unzipper(ab, pathToBitJS);
} else { // Try with tar } else { // Try with tar
unarchiver = new Untarrer(ab, pathToBitJS); unarchiver = new Untarrer(ab, pathToBitJS);

View file

@ -88,4 +88,4 @@ export function findMimeType(ab) {
curNode = curNode.children[byte]; curNode = curNode.children[byte];
if (curNode.mimeType) return curNode.mimeType; if (curNode.mimeType) return curNode.mimeType;
} }
}; }