首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSzip解压文件并将文件转换为ArrayBuffer

使用JSzip解压文件并将文件转换为ArrayBuffer
EN

Stack Overflow用户
提问于 2020-07-01 14:03:24
回答 1查看 555关注 0票数 0

在网站中,用户可以上传包含一个图像和xml文件的zip。上传压缩文件后,网站将解压该文件,并将这些文件转换为ArrayBuffer。然而,在解压后,它给我的是对象而不是文件,因此fileReader不能工作。

有人能在这方面帮我吗?以下是我的代码:

代码语言:javascript
复制
var zip = new JSZip();
zip.loadAsync(file.raw, {base64: true}).then(function(content) {
    var img = Object.entries(data.files).filter(([fileName]) =>
       fileName.endsWith('.png'),
    );
    var xml = Object.entries(data.files).filter(([fileName]) =>
       fileName.endsWith('.xml'),
    );
    var reader = new FileReader();
    reader.readAsArrayBuffer(img[0][1]);
    reader.onload = function(e){
       console.log(this.result)  
    }

});

我还尝试了console.log(img)和console.log(内容),但输出不是预期的结果。

代码语言:javascript
复制
console.log(img);
console.log(content);
代码语言:javascript
复制
// img Output:
(2) [Array(2), Array(2)]
0: (2) ["sample.png", i]
1: (2) ["__MACOSX/._sample.png", i]
length: 2
__proto__: Array(0)

// content Output:
i {files: {…}, comment: null, root: "", clone: ƒ}
clone: ƒ ()
comment: null
files:
sample.png: i {name: "sample.png", dir: false, date: Fri Jun 19 2020 01:04:54 GMT+0800 (中国标准时间), comment: null, unixPermissions: 33188, …}
sample.xml: i {name: "sample.xml", dir: false, date: Wed Jul 01 2020 21:56:20 GMT+0800 (中国标准时间), comment: null, unixPermissions: 33188, …}
__MACOSX/._sample.png: i {name: "__MACOSX/._sample.png", dir: false, date: Fri Jun 19 2020 01:04:54 GMT+0800 (中国标准时间), comment: null, unixPermissions: 33188, …}
__MACOSX/._sample.xml: i {name: "__MACOSX/._sample.xml", dir: false, date: Wed Jul 01 2020 21:56:20 GMT+0800 (中国标准时间), comment: null, unixPermissions: 33188, …}
__proto__: Object
root: ""
__proto__: Object
EN

回答 1

Stack Overflow用户

发布于 2020-07-02 11:13:15

通过以下代码解决了此问题:

代码语言:javascript
复制
zip.file(img[0][0]).async("arraybuffer")
.then(function(ArrayBuffer){
       console.log("Image ArrayBuffer: ");
        console.log(ArrayBuffer);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62670607

复制
相关文章

相似问题

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