我想在nuxtjs上使用JSZip为多个文件创建zip文件,我希望将文件转换为base64格式转换为pdf,并且文件格式也可以。如果所有文件均为jpg,则它将转换为jpeg,如果所有文件是pdf,然后将pdf列表转换为zip文件夹。
我想用JSZip包来做这个vuejs或nuxtjs。
我使用下面的代码,但什么也没得到。
download_btn() {
var zip = new JSZip()
var img = zip.folder("images")
for (i = 0; i < this.image.length; i++) {
img.file("img.png", this.image[i].imageurl)
}
zip.generateAsync({
type: "blob"
}).then(function(content) {
saveAs(content, "img_archive.zip")
})
}
答案 0 :(得分:0)
我不了解JSZip,但是对于Nuxtjs,您可以创建一个插件来调用它。
应该是像这样的东西:
npm install jszip
/* ~/plugins/jszip.js */
import Vue from 'vue'
import JSZip from 'jszip'
Vue.use(JSZip)
export default {
...
plugins: [
{ src: '~/plugins/jszip', mode: 'client' }
]
...
}
download_btn() {
var img = JSZip.folder("images")
for (i = 0; i < this.image.length; i++) {
img.file("img.png", this.image[i].imageurl)
}
JSZip.generateAsync({
type: "blob"
}).then(function(content) {
saveAs(content, "img_archive.zip")
})
}
您可以在此处了解更多信息:NuxtJS / Plugins
希望它会有所帮助:)
答案 1 :(得分:0)
手动下载jszip,并将其下载到nuxt中的静态文件夹中。
在脚本部分下的nuxt-config中,添加{ src: '/js/jszip.js' },
。