#javascript #node.js #zip #filesystems #node-modules
Вопрос:
Я разработчик python. Я очень новичок в nodejs и пытаюсь отправить клиенту zip-файл в качестве http-ответа. После долгих исследований я создал zip-файл из своих данных следующим образом:
var fileDest = "file.zip"; var file = fs.createWriteStream(fileDest); http.get(fileUrlStr.url, function(res) { if (res.statusCode !== 200) { var err = new Error('file download failed'); err.fileName = fileDest; err.statusCode = res.statusCode; return cb(err); } res.on('data', function(data) { file.write(data); }).on('end', function() { file.end(); var zipFile = fs.readFileSync(fileDest, 'utf8').toBuffer(); cb(zipFile); }); }).on('error', function (err) { console.log('downloadFile error'); fs.unlink(fileDest); err.fileName = fileDest; cb(err); });
cb()
Функция имеет следующую конфигурацию ответа :
cb(response){ statusCode: statusCode, headers: { "Access-Control-Allow-Headers": "Content-Type,Authorization,X-Amz-Date,X- Api-Key,X-Amz-Security-Token", "Access-Control-Allow-Methods": "DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT", "Access-Control-Allow-Origin": "*" }, body: JSON.stringify(response) }
Но на стороне клиента я получил undefined
ответ. Любая подсказка или помощь были бы очень признательны.