我使用 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'}。
欲了解更多详细信息,请检查:如何使用 Angular 下载 zip 文件 https://stackoverflow.com/questions/30158115/how-to-download-a-zip-file-using-angular也AngularJS:在角度应用程序中显示 blob (.pdf) https://stackoverflow.com/questions/21628378/angularjs-display-blob-pdf-in-an-angular-app/21732039#21732039
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)