angularjs – EasyZip生成的Zip无法正常工作

前端之家收集整理的这篇文章主要介绍了angularjs – EasyZip生成的Zip无法正常工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Easyzip生成了一个zip文件.我可以直接从下载文件夹打开它.但是当下载后尝试打开它时,我收到此错误: – ‘提取文件时出错’.

这是我的后端代码: –

var zip2 = new EasyZip();
    zip2.zipFolder('./downloads/'+application._id,function(){
        zip2.writeToFile('./downloads/'+application._id+'.zip');

        res.setHeader('Content-disposition','attachment; filename='+application._id+'.zip');
        res.setHeader('Content-type','application/zip');

        var fs = require('fs');
        var filestream = fs.createReadStream('./downloads/'+application._id+'.zip');

        filestream.pipe(res);
    });
});

我的angular.js代码

$http.post('/download/archive/' + stateParams._id,{year: year}).success(function (data) {
            var file = new Blob([data],{type: 'application/zip'});
            console.log(file)
            saveAs(file,'application.zip');

        });

请帮我解决这些问题.提前致谢.

解决方法

我有同样的问题,并能够通过使用以下方法解决它:
$http.post()请求中的{responseType:’arraybuffer’}.
有关详细信息,请查看: how to download a zip file using angular以及 AngularJS: Display blob (.pdf) in an angular app

猜你在找的Angularjs相关文章