I have created a lambda function using serverless SAM and .NET core. This function is fired via API Gateway on a GET request and should return a pdf file. I'm using itextsharp to create pdf and trying to return the pdf file with the following command
public async Task<IActionResult> GenerateReport()
{
var reportName = "test";
var result = await reportHandler.GenerateReportAsync();
return File(result, System.Net.Mime.MediaTypeNames.Application.Pdf, reportName + ".pdf");
}
After take a look this thread AWS Lambda fails to return PDF file I also add application/pdf as binary mediatype in my API Gateway like this in my serverless.yaml
Globals:
Api:
BinaryMediaTypes:
- application~1pdf
Resources:
ApiGateway:
Type: AWS::Serverless::Api
Properties:
StageName:
Ref: Environment
Name:
Fn::Join:
- "-"
- - Ref: AWS::StackName
- "api"
ContentHandling:
- CONVERT_TO_BINARY
However when I try to open the PDF, I still got an error: "failed to open PDF Document". When I open the pdf file with notepad it looks something like this (I just make it shortend)
JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxNzIvSGVpZ2h0IDM2L0xlbmd0aCAxNjkwL0NvbG9yU3BhY2VbL0luZGV4ZWQvRGV2aWNlUkdCIDI1NSigoKBNTU0BAQGhoaECAgIXFxdMTEz9/f2Xl5f+/v7y8vJpaWkYGBjx8fHMzMxZWVkWFhalpaUcHBwZGRlLS0ukpKQGY1YzRlNjFhNjIwYjFkZjNjMDM1MjE1PjwwZTk1MTRhOGRmNWM0ZTYxYTYyMGIxZGYzYzAzNTIxNT5dPj4KJWlUZXh0LTUuNS4xMy4yCnN0YXJ0eHJlZgo0NTQzCiUlRU9GCg==
Anyone can help what is the problem here?
Note: It working fine in my local machine (I can open PDF perfectly). It just doesn't work after deployment