在本地html文件里写一个可以提取压缩包内图片并展示出来的代码
时间: 2023-05-25 13:03:38 浏览: 268
以下是可以提取压缩包内图片并展示出来的本地HTML文件代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Extract Images from Compressed File</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.6.0/jszip.min.js"></script>
</head>
<body>
<h1>Extract Images from Compressed File</h1>
<input type="file" id="fileInput" accept=".zip"><br><br>
<button id="extractBtn">Extract Images</button><br><br>
<div id="imageContainer"></div>
<script>
var fileInput = document.getElementById('fileInput');
var extractBtn = document.getElementById('extractBtn');
var imageContainer = document.getElementById('imageContainer');
extractBtn.addEventListener('click', function() {
var zipFile = new JSZip();
var file = fileInput.files[0];
zipFile.loadAsync(file)
.then(function(zip) {
var promises = [];
zip.forEach(function(relativePath, zipEntry) {
if (zipEntry.name.match(/.(jpg|jpeg|png|gif)$/i)) {
promises.push(zip.file(relativePath).async('base64')
.then(function(base64) {
var img = document.createElement('img');
img.src = 'data:image/' + zipEntry.name.split('.').pop() + ';base64,' + base64;
imageContainer.appendChild(img);
}));
}
});
return Promise.all(promises);
})
.then(function() {
console.log('Images extracted successfully');
})
.catch(function(error) {
console.error('Error extracting images:', error);
});
});
</script>
</body>
</html>
```
这段代码首先给页面添加了一个可以选择压缩文件的文件输入框和一个提取图片的按钮。当用户点击按钮时,代码会使用JSZip库解析压缩文件并检查其中所有的文件。对于所有匹配图片格式的文件,代码将获取它们的Base64编码,并用`<img>`元素将它们添加到HTML页面的容器中。最终,页面将展示所有提取出的图片。
阅读全文