Я пытаюсь загрузить несколько изображений в виде zip-файла. Поскольку я использую BLOB-объект Azure, сначала я перечислил все BLOB-объекты, затем сжал их с помощью Archiver и использовал функцию конвейера для отправки их клиенту. Но я получаю zip как необработанный файл, и он не загружается. Я использую Node JS + Express.
Серверный скрипт:
function zipURLs(urls, outStream) {
var zipArchive = archiver.create('zip');
async.eachLimit(urls, 3, function(url, done) {
console.log(url);
var stream = request.get(url);
stream.on('error', function(err) {
return done(err);
}).on('end', function() {
return done();
});
// Use the last part of the URL as a filename within the ZIP archive.
zipArchive.append(stream, { name : url.replace(/^.*\//, '') });
}, function(err) {
if (err) throw err;
zipArchive.finalize();
zipArchive.pipe(outStream);
});
}
var data = {};
data.blob_name = value;
console.log('downloading');
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: 'download/',
success: function(data) { console.log(data); }
Аутрстрим - это рез. Таким образом, я получаю данные как это:
Как я могу скачать напрямую в виде zip-файла, используя js?
Спасибо