在函数内部,我想获取表单数据文件。
我无法在API请求中使用表单文件。
[LambdaFunction()]
[HttpApi(LambdaHttpMethod.Post, "/create")]
public async Task<IActionResult> AddEntity()
{
try
{
return new OkObjectResult(new { message = "data added" });
}
catch (Exception ex)
{
throw;
}
}
AWS Lambda 不直接支持 IFormFile。相反,使用 APIGatewayHttpApiV2ProxyRequest 访问原始多部分/表单数据负载,并使用 HttpMultipartParser 等库对其进行解析。这是基本设置:
[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" });
}
使用Postman等工具发送多部分/表单数据