首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jszip和jszip-utils Meteor -保存zip文件时中断的图像文件

Jszip和jszip-utils Meteor -保存zip文件时中断的图像文件
EN

Stack Overflow用户
提问于 2018-03-06 17:34:09
回答 1查看 202关注 0票数 0

您好,我正在尝试使用JSZip和JSZip-utils保存图像文件。

我可以打包这些文件,但是当试图在windows中查看它们时,这些文件已经损坏了。

下面是我的代码:

代码语言:javascript
复制
//returns a Jquery Promise (binary content for use in JSZip)
if (currentViewOption == "f"|| currentViewOption == "t") {
  const downloadPromise = new Promise(resolve => {
    JSZipUtils.getBinaryContent(frontImgUrl, (err, data) => resolve(data));
  });
  zip.file(frontImgID, downloadPromise);
}

if (currentViewOption == "b"||currentViewOption == "t") {
  const downloadPromise2 = new Promise(resolve => {
    JSZipUtils.getBinaryContent(backImgUrl, (err, data) => resolve(data));
  });          
  zip.file(backImgID, downloadPromise2);
}

var now = Helpers.prettifyDateTime(new Date());

//generation of the zip, and send to the users browser
zip.generateAsync({type:"blob", compression: "DEFLATE"})
  .then(function(content) {
    saveAs(content, "VPI Images_" + now + ".zip");
  }, function(err){
    console.log(err)
});

如果有人能帮助我,我将非常感激,我已经在这上面花了太长时间了。

提前感谢- Mark

EN

回答 1

Stack Overflow用户

发布于 2018-10-10 21:09:08

我正在使用blob:true选项,同时添加一个文件到zip。

代码语言:javascript
复制
zip.file("filename", data, {blob: true});

在创建zip时,我没有使用压缩,我使用的是这个。

代码语言:javascript
复制
zip.generateAsync({type:"blob"}).then(function(content){
                    saveAs(content, "zipfilename");
                });

也许您在使用zip.file时需要指定类型,如下所示

代码语言:javascript
复制
zip.file("filename", data, {blob:true, type:"img/png"})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49127525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档