解压本地zip

本地路径(ie):

activexobj.js

//本地路径转base64 export function pathToDataURL(file) { var type=file.slice(file.lastIndexOf(".")+1) var xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.6.0'); xmlHttp.open('POST',file, false); xmlHttp.send(''); var xml_dom = new ActiveXObject('MSXML2.DOMDocument'); var tmpNode = xml_dom.createElement('tmpNode'); tmpNode.dataType = 'bin.base64'; tmpNode.nodeTypedValue = xmlHttp.responseBody; var fileBase=""; switch (type) { case "pdf":fileBase="data:application/pdf;base64,";break; case "jpg":fileBase="data:image/jpg;base64,";break; case "png":fileBase="data:image/png;base64,";break; case "bmp":fileBase="data:image/bmp;base64,";break; case "zip":fileBase="data:application/x-zip-compressed;base64,";break; var imgBase64Data = fileBase+tmpNode.text.replace(/\n/g,""); return imgBase64Data; }catch (e) { console.log(e); //base64转File(IE) export function dataURLtoFile(dataurl,fileName){ var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); var theBlob=new Blob([u8arr], { type: mime }); theBlob["lastModifiedDate"] = new Date(); theBlob["name"] = fileName; return theBlob; // arrayBuffer转base64 export function arrayBufferToBase64( buffer,fileName ) { var type=fileName.slice(fileName.lastIndexOf(".")+1) var fileBase=""; switch (type) { case "pdf":fileBase="data:application/pdf;base64,";break; case "jpg":fileBase="data:image/jpg;base64,";break; case "png":fileBase="data:image/png;base64,";break; case "bmp":fileBase="data:image/bmp;base64,";break; case "zip":fileBase="data:application/x-zip-compressed;base64,";break; var binary = ''; var bytes = new Uint8Array(buffer); var len = bytes.byteLength; for (var i = 0; i < len; i++) { binary += String.fromCharCode(bytes[i]); return fileBase+window.btoa(binary);