Я использую инструмент под названием s3-zip , который объединяет файлы из S3 на стороне сервера и затем передает поток zip-файлов клиенту с помощью платформы Express.Я могу подтвердить, что код на стороне сервера работает правильно, и он показан ниже
router.get('/download', function (req, res, next) {
const region = 'us-west-2';
const bucket = 'my-bucket';
const folder = 'my-folder/';
const file1 = '85570334.jpg';
const file2 = '85570335.jpg';
const file3 = '85571603.jpg';
s3Zip
.archive({ region: region, bucket: bucket}, folder, [file1, file2, file3])
.pipe(res)
});
Так выглядит ответ на хромированной консоли
Проблема возникает, когда я получаю ответ на стороне клиента и пытаюсь загрузить его в виде zip-файла в клиентский браузер.Я использую Angular File Saver для этого.В следующем фрагменте я пытаюсь взять ответ, соответствующий изображению выше, и загрузить его в браузер клиента.
var blob = new Blob([res._body], {type: "application/zip"});
FileSaver.saveAs(blob, "test-new.zip");
Однако файл zip загружается при попытке открыть его на компьютере Mac.Я получаю следующую ошибку
Может кто-нибудь увидеть, что вызывает эту ошибку и как ее исправить?