从服务器压缩excel文件进行下载
我试图使用jszip.js从服务器捆绑多个excel文件,应该一起下载到一个zip文件点击。
当我试图replace演示脚本时,我可以创build一个zip文件,但它是空的。
当我将两个文件放在zip.file中时,第一个文件会出现在zip文件中,但已损坏。 喜欢:
var zip = new JSZip(); zip.file('http://website/file1.xlsx', 'http://website/file2.xlsx'); var content = zip.generate({type:"blob"}); saveAs(content, "example.zip");
所以我应该把文件的名称放在第一个位置,而不是文件的位置,但是我必须以其他方式访问它。
我想我只是不检查API的工作原理。
如果至less有两个文件在服务器上托pipe,那么这将是一件好事。
JSZip无法下载内容,但如果您需要支持IE <= 9,则可以使用XHR(带有xhr.responseType = "arraybuffer"
)或JSZipUtils 。您可以在本文档的该页面中find更多详细信息。
你试图做的就像这个例子 :下载几个文件并压缩它们。
没有复制/粘贴整个代码,例如:
- 触发ajax调用(使用JSZipUtils,但如果仅支持最新的浏览器,则只能使用
responseType = "arraybuffer"
) - 把它们包装成承诺(这里jQuery的承诺,但你可以使用自己的)
- 将结果添加到一个zip对象
- 在触发下载之前等待所有的承诺完成