浏览器在本地解压压缩文件
时间: 2023-11-13 18:05:06 浏览: 50
浏览器在本地解压缩文件可以使用HTML5的File API和JSZip库。以下是一个简单的示例代码:
```javascript
// 加载jszip库
<script src="https://cdn.bootcdn.net/ajax/libs/jszip/3.6.0/jszip.min.js"></script>
// 定义解压缩函数
function unzip(file) {
var reader = new FileReader(); // 创建FileReader对象
reader.onload = function(event) {
var arrayBuffer = event.target.result; // 获取文件内容
JSZip.loadAsync(arrayBuffer) // 加载zip文件
.then(function(zip) {
// 遍历压缩包中的文件
Object.keys(zip.files).forEach(function(filename) {
// 判断是否为文件
if (!zip.files[filename].dir) {
zip.files[filename].async("string").then(function(fileData) {
// 输出文件名和文件内容
console.log(filename);
console.log(fileData);
});
}
});
});
};
reader.readAsArrayBuffer(file); // 读取文件内容
}
// 监听文件选择器的change事件
var fileInput = document.getElementById("fileInput");
fileInput.addEventListener("change", function() {
var file = fileInput.files[0];
unzip(file); // 调用解压缩函数
});
```
需要注意的是,由于浏览器的安全限制,只有用户手动选择的文件才能够通过文件选择器读取。如果您需要让用户在浏览器中解压远程zip文件,可以先将zip文件下载到本地,再通过上述示例代码解压缩。