我是nodejs的新手,我正在尝试使用API Gateway和Lambda实现文件(CSV格式)上传要求。这是我的lambda函数中的nodejs代码,用于缓冲来自API网关的请求体:
let bodyBuffer = Buffer.from(event['body-json'], 'base64');
当我记录bodyBuffer
时,我看到了全身请求:
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
然后我尝试从中获取CSV数据:
let json = JSON.stringify(bodyBuffer);
但它看起来像这样:
{
"type": "Buffer",
"data": [
45,
45,
45,
45,
45,
45,
45,
45,
我很难在这里获得正确的csv数据。有人可以帮忙吗?
答案 0 :(得分:0)
您始终可以使用Buffer.toString()
。理想情况下,您希望在客户端下载文件,在这种情况下,Content-Type
的标题可以设置为' application / vnd.ms-excel'。
可以通过Buffer.toString('base64')