gpt4 book ai didi

javascript - JSZip 提取文件对象

转载 作者:搜寻专家 更新时间:2023-11-01 00:16:54 25 4
gpt4 key购买 nike

我正在通过执行以下操作使用 JSZip 提取一个 zip 文件:

jszip.loadAsync(zipFile)
['then'](function(zip) {
return bluebird.map(Object.keys(zip.files), function (filename) {
// converts the compressed file to a string of its contents
return zip.files[filename].async('string').then(function (fileData) {
// fileData is a string of the contents
})
})
})

但是,此提取的输出是文件内容的字符串数组。我想知道是否可以获取文件对象数组作为输出,因为我稍后需要文件对象。

我试过

new File(fileData.split('\n'), filename)

但它会丢失原始文件格式。

有什么建议吗?

最佳答案

File 构造函数 takes BufferSource(ArrayBuffer、Uint8Array 等)、Blob 或字符串的列表。如果您拆分\n 上的内容,您将删除这些\nFile 将在不重新添加新行的情况下连接每个字符串。

改用 blob:

return zip.files[filename].async('blob').then(function (fileData) {
return new File([fileData], filename);
})

关于javascript - JSZip 提取文件对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42587203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com