给我
ParseMultipartFormData
功能的代码。
[LambdaFunction()]
[HttpApi(LambdaHttpMethod.Post, "/create")]
public async Task<IActionResult> AddEntity([FromBody] APIGatewayHttpApiV2ProxyRequest request)
{
var contentType = request.Headers["content-type"];
if (contentType.Contains("multipart/form-data"))
{
var formData = ParseMultipartFormData(request.Body, contentType);
var fileContent = formData["file"]; // Process file here
}
return Ok(new { message = "Data added successfully" });
}
这不是在 AWS Lambda 上发布文件的推荐方法。由于 AWS Lambda 的有效负载限制为 6MB。
您应该做的是 - 创建一个 S3 预签名 URL,并从 API 返回该 URL。使用该预签名 URL 将文件直接上传到 S3,然后调用另一个 API 来保存更新。
这样,你的API将会是轻量级的,不需要处理对象。确保将预签名 URL 的超时保持在最低限度。