如何解决浏览器扩展 - 下载多个 JSZip 解压文件
我在我的 vue 浏览器扩展中使用 JSZip。我创建了一个函数来读取 zip 文件,并且能够获取 zip 的内容。我想让用户能够在选择它们后下载多个文件,但我无法实现这一点。这是代码
在模板代码中,我使用 v-for
生成打开的 zip 文件中的文件列表
<ul class="list-group list-group-flush pt-5 overflow-auto">
<li class="list-group-item" v-for="(file,i) in filesList" :key="i">
<small class="float-start">{{ file }}</small>
<input class="form-check-input float-end" type="checkBox" ref="selectedFile">
</li>
</ul>
methods: {
handleFiles(e) {
e.dataTransfer.files.forEach( (file) => {
JSZip.loadAsync(file).then( (zip) => {
zip.forEach( (relativePath,zipEntry) => {
this.filesList.push(relativePath);
this.files.push(zipEntry);
});
});
});
},downloadSelectedFiles() {
this.files.forEach( (file) => {
JSZip.file(file).async('blob').then( (data) => {
console.log(data);
});
});
}
}
如何调用 chrome.downloads.download
方法让用户下载所有选定的文件?我尝试使用 $refs
但它只会选择一个复选框,我也不知道如何将从 JSZip 传递的对象转换为方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。