请问怎样使用jszip把我想压缩的文件压缩进去呢?

请问这个jszip插件我只知道文件的位置是obj.filepath,但内容不知道怎么读取,我该怎么把这个文件压缩到zip里面呢?

        var zip = new JSZip();
        {$test}.forEach(function (obj) {
            zip.file(obj.filename , obj.filepath);
            zip.generateAsync({
            type: 'blob'
        }).then(function(content) {
            // 下载的文件名
            var filename = '合同' + '.zip';
            // 创建隐藏的可下载链接
            var eleLink = document.createElement('a');
            eleLink.download = filename;
            eleLink.style.display = 'none';
            // 下载内容转变成blob地址
            eleLink.href = URL.createObjectURL(content);
            // 触发点击
            document.body.appendChild(eleLink);
            eleLink.click();
            // 然后移除
            document.body.removeChild(eleLink);
        });
阅读 1.7k
1 个回答

浏览器的话,读取文件只能通过 <input type="file">change 事件,或者 drag 事件。即:一定要用户主动查找并选中要操作的文件。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题