Отправить zip-файл в качестве ответа в IBM Cloud Function

У меня есть бессерверная функция, развернутая в IBM Cloud Functions. Функция генерирует и загружает файл Excel.

Локально он работает как положено, но в развернутой версии я получаю следующую ошибку:

{
  "code": "xxxxxxxxxx",
  "error": "Response type in header did not match generated content type."
}

С заголовком Content-Type 'application/json' я могу отправлять json, а с 'image/png' даже изображения как base64. Zip-файлы не работают. Пробовал с 'Content-Type': 'application/zip и 'Content-Type': 'application/zip, application/octet-stream

Мне нужно сделать дополнительную настройку?

Полный пример:

headers: {
    'Content-Type': 'application/zip',
    'Content-Disposition': `attachment; filename=foo.zip;`,
    'Content-Transfer-Encoding': 'binary',
    'Content-Length': zip.length
},

person Akora    schedule 01.10.2019    source источник


Ответы (1)


Я исправил это, сгенерировав zip base64 вместо uint8array.

До:

var JSZip = require("jszip");
var zip = new JSZip();

const myZip = await zip.generateAsync({
                type: 'uint8array',
                base64: true,
                compression: 'DEFLATE'
            });

После:

var JSZip = require("jszip");
var zip = new JSZip();

const myZip = await zip.generateAsync({type: 'base64'});
person Akora    schedule 01.10.2019