本地HTML使用vue和JSZip生成压缩包,并点击下载
时间: 2024-03-13 07:43:40 浏览: 134
可以使用Vue.js和JSZip库生成并下载压缩包。以下是一个示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Vue.js + JSZip Demo</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.6.0/jszip.min.js"></script>
<script>
new Vue({
el: '#app',
data: {
files: [
{name: 'hello.txt', content: 'Hello World\n'},
{name: 'world.txt', content: 'Hello Earth\n'}
]
},
methods: {
generateZip: function() {
var zip = new JSZip();
// 将所有文件添加到压缩包中
for (var i = 0; i < this.files.length; i++) {
var file = this.files[i];
zip.file(file.name, file.content);
}
// 生成压缩包
zip.generateAsync({type:"blob"}).then(function(content) {
// 创建一个下载链接
var link = document.createElement('a');
link.download = "example.zip"; // 下载文件的文件名
link.href = URL.createObjectURL(content); // 将Blob对象转换为URL
document.body.appendChild(link);
link.click(); // 触发下载
document.body.removeChild(link); // 下载完成后删除链接
});
}
}
});
</script>
</head>
<body>
<div id="app">
<button @click="generateZip">生成压缩包</button>
</div>
</body>
</html>
```
运行这个示例代码后,点击 "生成压缩包" 按钮将会生成并下载一个包含两个文件的压缩包。
阅读全文