Я пытаюсь отправить zip-файл с определенными элементами в моем основном хранилище amazon S3 с ответом на HTTP-запрос. Так как я довольно новичок в express.js и не вижу какого-либо конкретного способа сделать это вручную, я использую s3-zip, в котором нет конкретных инструкций о том, как отправить файл в ответе, а выводится его в каталоге:
const output = fs.createWriteStream(join(__dirname, 'use-s3-zip.zip'))
s3Zip
.archive({ region: region, bucket: bucket}, folder, [file1, file2, file3, file4])
.pipe(output)
Вот моя небольшая адаптация к коду:
app.get('/files', (request, response) => {
const objectIds = request.body.objectIds
const folder = request.body.folder
response.set('content-type', 'application/zip')
s3Zip
.archive({ s3: s3, bucket: aws_bucket_name }, folder, objectIds)
.pipe(response)
s3Zip.on('end', () => {
console.log('ended');
response.end();
})
});
Однако s3Zip.on не определен.
Кто-нибудь 1) использовал эту зависимость раньше и мог указать на то, как заставить ее работать, или 2) есть другая идея для достижения моей цели?
Заранее спасибо.