AWS C#lambda文件上传到S3

时间:2017-09-22 11:22:34

标签: c# file-io aws-lambda ca-api-gateway

我使用visual studio空模板创建了一个无服务器的AWS。我正在尝试向其发送一个文件,使用C#在内部上传到S3。我可以通过控制台应用程序上传文件。我需要帮助: 一个。如何通过Insomnia或Postman将文件发送到API - 现在可以做到 湾如何接收文件,以便在我上传S3时,我可以按照我在API中发送的方式直接下载.--现在能够做到了

[编辑] C。尝试将文件保存到存储桶时,文件大小小于上载文件并且已损坏。

代码段:

public APIGatewayProxyResponse Get(APIGatewayProxyRequest request, ILambdaContext context)
{

context.Logger.LogLine(Encoding.ASCII.GetByteCount(request.Body).ToString()); MemoryStream ms = new MemoryStream(); TransferUtility utility = new TransferUtility(new AmazonS3Client("<AccessKey>", "<SecretKey>", Amazon.RegionEndpoint.USEast1)); var checker = new TransferUtilityUploadRequest() { InputStream = new MemoryStream(Encoding.ASCII.GetBytes(request.Body)), BucketName = "<BucketName>", Key = "<FileName>.pdf" }; utility.Upload(checker); var response = new APIGatewayProxyResponse { StatusCode = (int)HttpStatusCode.OK, Body = JsonConvert.SerializeObject(checker), Headers = new Dictionary<string, string> { { "Content-Type", "application/json" }, { "Access-Control-Allow-Origin", "*" } } }; return response; }

注意:该文件可以是docx或pdf。我还有将代码上传到S3的代码只需要通过APIGatewayProxyRequest类型接收文件并转换为流的信息。

提前致谢。

0 个答案:

没有答案