Моя задача - прочитать файл PDF в бэкэнде и отправить клиенту в кодированном формате с соответствующими заголовками ответа для загрузки файла на стороне клиента.
Я использую лямбда-прокси-интеграцию со шлюзом API AWS, и у меня есть экспресссервер в этом сценарии.
Я могу загрузить PDF из почтальона при использовании пользовательской лямбда-интеграции с API-шлюзом, но когда я использую прокси-интеграцию, она загружает мне пустой файл содержимого PDF.
В обоих случаяхЯ отправляю двоичные данные от шлюза API к клиенту.
Но в пользовательской интеграции я изменил этот параметр в консоли шлюза API, включив обработку содержимого в CONVERT_TO_BINARY.
Но в прокси я сделал это из кода и отправил бинарный файл на клиентскую сторону.
file = fs.readFileSync('/tmp/statistics.pdf');
var base64 = file.toString('base64');
var buff = new Buffer(base64, 'base64');
var binary = buff.toString('binary');
res.writeHead(200, {
'Content-Type': 'application/pdf',
'Content-Disposition': 'attachment;
filename="statistics.pdf"'
});
res.end(binary);
Это мой пример кода отправки данных со шлюза API на клиентскую сторону. Пожалуйста, помогите мнечтобы понять это, я очень запутался в этом.