node.js - 如何读取用 NodeJs 编写的 AWS Lambda 中的表单数据?
问题描述
我正在前端和后端使用 ReactJS 作为用 NodeJS 编写的 AWS API Gateway/AWS Lambda 构建应用程序。我在名为userAttributes的属性中传递了我的 React 应用程序的表单数据,如下所示:
我想在后端逻辑中读取这些数据。根据 Lambda 的 Cloud Watch 日志,我在 Lambda 事件中获取的表单数据为:-
body: '------WebKitFormBoundarytTytoOIkcO2\r\n' +
'Content-Disposition: form-data; name="userAttributes"\r\n' +
'\r\n' +
'[object Object]\r\n' +
'------WebKitFormBoundarytTytrEkb0oOIkcO2--\r\n',
isBase64Encoded: false
}
这里 [object Object] 是我的表单数据。如何解析和读取这个表单数据值?我可以读取我的其他查询字符串参数 (event.queryStringParameters.<attributes>),但不确定如何读取表单数据。
解决方案
在您的 lambda 上使用https://www.npmjs.com/package/parse-multipart,您可以解析数据...
但首先
将您的 api 网关中的媒体类型设置为 multipart/form-data
当您将 lambda 添加到 api 网关方法时,请确保您是否选中“代理”,因为您需要将来自前端的数据作为 multipar/form-data 进行管理
推荐阅读
- javascript - 为什么我无法访问使用 Node.js/Express-TypeScript 的 SSL 证书?
- php - laravel 5.2 图像无法加载
- aws-lambda - 如何存储来自 Amazon Lex 的用户输入(话语)?
- html - 由于图像,Chrome中的Angular Firebase滚动问题
- python - 音频识别:将音频示例的大小调整为相同的长度
- wpf - 使用 IsEnabled="False" 的 WPF 禁用按钮在代码中不起作用
- javascript - Javascript。.input 究竟对数组项有什么作用?
- swift - 如何动态设置 UIButton 的圆角半径?
- grails - 如何表示连接表包含标识类型的多对多关系
- java - 转换数据集
将 Json 包含到数据集中