我正在使用MEAN技术,想要允许用户从服务器下载zip文件。所以我需要完成以下步骤:
以下是我的下载功能代码:
HTML: Download CSV Reports
Angular部分:
- 根据特定数据创建csv文件。
- 将该文件存储到某个目录中。
- 将这些文件压缩成zip格式。
- 当用户点击按钮时,应下载并可读取已压缩的文件。
以下是我的下载功能代码:
HTML: Download CSV Reports
Angular部分:
$scope.downloadFiles = function() {
$http({
method: 'GET',
url: '/download/csv/files'
}).
success(function(data, status, headers, config) {
var anchor = angular.element('<a/>');
anchor.attr({
href: 'data:attachment' + encodeURI(data),
target: '_blank',
download: 'filename.zip'
})[0].click();
}).
error(function(data, status, headers, config) {
alertify.error(data);
});
};
NodeJS:
var path = require('path'),
fs = require('fs');
exports.downaloadAllCsv = function(req, res) {
var file = 'local path to my zip file',
filename = path.basename(file);
res.setHeader('Content-disposition', 'attachment; filename=' + filename);
res.setHeader('Content-type:',' application/zip');
var filestream = fs.createReadStream(file);
filestream.pipe(res);
};