1

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

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

代码片段:

公共 APIGatewayProxyResponse 获取(APIGatewayProxyRequest 请求,ILambdaContext 上下文)
{

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 类型接收文件并转换为流的信息。

提前致谢。

4

0 回答 0