超过1个G的文件解压就会报错,有什么好的解决办法?
<body>
<input id="uploadFile" type="file" onchange="changeFile()" />
<script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.10.0/jszip.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script>
<script>
function changeFile() {
const uploadFileEle = document.querySelector("#uploadFile");
let file = uploadFileEle.files[0];
JSZip.loadAsync(file).then((res) => {
console.log(res.files);
})
}
</script>
</body>
报错信息
1.文件大于1G
jszip.min.js:13 Uncaught (in promise) RangeError: Invalid typed array length: undefined
at new Uint8Array (<anonymous>)
at Object.uint8array (jszip.min.js:13:33546)
at a.transformTo (jszip.min.js:13:34130)
at jszip.min.js:13:35659
2.文件大于2G
Uncaught (in promise) DOMException: The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.
https://stuk.github.io/jszip/...
按照文档所述用buffer试下