我不明白如何正确使用jsZip .. 我正在尝试从localhost中的文件夹中获取文件,然后将其压缩,最后将压缩文件保存在同一文件夹中...
但实际上我并没有很好的理解如何使用它
这里我做了什么:
JSZipUtils.getBinaryContent("http://localhost:8100/pdf/test.pdf", function (err, data) {
if(err) {
alert('err');
throw err;
}
else{
zip.file("test.pdf",data,{binary:true})
.then(function (blob) {
saveAs(blob, "pdf.zip");
});
}
});
anibody可以帮助我吗?
答案 0 :(得分:0)
以下一些代码最终为我工作。
注意,这适用于jszip utils版本3.它需要filesaver.js才能使saveAs调用工作(https://github.com/eligrey/FileSaver.js)。
这是我的代码:
function create_zip(){
// get checked file urls
var urls = Array();
$("input:checked").each(function () {
urls.push($(this).siblings('a').attr('href'));
})
console.log(urls);
var zip = new JSZip();
var count = 0;
var zipFilename = "archive.zip";
urls.forEach(function(url){
var filename = url.substr(url.lastIndexOf("/")+1);
console.log(filename);
// loading a file and add it in a zip file
JSZipUtils.getBinaryContent(url, function (err, data) {
if(err) {
throw err; // or handle the error
}
zip.file(filename, data, {binary:true});
count++;
if (count == urls.length) {
zip.generateAsync({type:'blob'}).then(function(content) {
saveAs(content, zipFilename);
});
}
});
});
};
这是根据以下信息改编的:https://gist.github.com/noelvo/4502eea719f83270c8e9
希望它有所帮助!
答案 1 :(得分:0)
var zip = new JSZip();
JSZipUtils.getBinaryContent(url, function (err, data) {
if(err) {
alert('err');
throw err;
}
else{
zip.file("test.csv",data,{binary:true});
zip.generateAsync({ type: "Blob" }).then(function (content) {
fsaver.saveAs(content, "example.zip");
});
}
});
尝试此角度。这是一个CSV文件。给出url作为csv文件的路径。