Sou muito novo no nodejs e estou tentandoimplementar um requisito de upload de arquivo (formato CSV) usando API Gateway e Lambda. Aqui está meu código nodejs em minha função lambda para armazenar em buffer o corpo da solicitação que vem do API Gateway:
let bodyBuffer = Buffer.from(event["body-json"], "base64");
quando eu logar o bodyBuffer
Estou vendo o pedido de corpo inteiro:
2018-04-04T22:30:26.637Z c56d1263-3857-11e8-ba40-c1378697db16
bodyBuffer: -----------------------------153501500631101
Content-Disposition: form-data; name="uploadedFile"; filename="sampleData.csv"
Content-Type: application/vnd.ms-excel
id,firstName,lastName
1,john,doe
2,jane,doe
-----------------------------153501500631101
Em seguida, tento obter os dados CSV dele:
let json = JSON.stringify(bodyBuffer);
mas fica assim:
{
"type": "Buffer",
"data": [
45,
45,
45,
45,
45,
45,
45,
45,
Tive problemas para obter os dados csv corretos aqui. Alguém pode ajudar por favor?
Respostas:
0 para resposta № 1Você sempre pode usar Buffer.toString()
. O ideal é fazer o download do arquivo no lado do cliente, nesse caso, os cabeçalhos para Content-Type
pode ser definido como "application / vnd.ms-excel".
A resposta pode ser lida por Buffer.toString("base64")