有没有办法使用 JavaScript 来压缩文件?例如,在雅虎邮件中,当您选择下载电子邮件中的所有附件时,它会被压缩并下载到单个 zip 文件中。 JavaScript 能够做到这一点吗?如果是这样,请提供一个编码示例。
我发现这个图书馆叫jszip https://stuk.github.io/jszip/完成任务,但存在已知和未解决的问题。
我该如何解决这个问题?
JSZip 多年来一直在更新。现在您可以在它的 GitHub 存储库 https://github.com/Stuk/jszip
它可以与文件保存器.js https://github.com/eligrey/FileSaver.js/
您可以使用 npm 安装它们:
npm install jszip --save
npm install file-saver --save
然后导入并使用它们:
import JSZip from 'jszip';
import FileSaver from 'file-saver';
const zip = new JSZip();
zip.file('idlist.txt', 'PMID:29651880\r\nPMID:29303721');
zip.generateAsync({ type: 'blob' }).then(function (content) {
FileSaver.saveAs(content, 'download.zip');
});
然后,您将下载一个名为 download.zip 的 zip 文件,解压后,您可以在其中找到一个名为 idlist.txt 的文件,该文件有两行:
PMID:29651880
PMID:29303721
为了供您参考,我使用以下浏览器进行了测试,并且全部通过:
- 火狐 59.0.2(Windows 10)
- Chrome 65.0.3325.181(Windows 10)
- 微软边缘41.16299.371.0(Windows 10)
- Internet Explorer 11.0.60 (Windows 10)
- Opera 52(Mac OSX 10.13)
- Safari 11(Mac OSX 10.13)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)