AWS Lambda Api Загрузить изображение в S3 Bucket - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь создать Do tnet Core 2.1 Api. Мне нужно загрузить изображение. У меня есть следующий код для загрузки изображения.

[HttpPut("{key}")]
public async Task Put([FromForm] IFormFile image)
{
    Logger.LogInformation($"Got {image?.FileName}, {image?.Length}");
    using (var client = new AmazonS3Client("key", "secret"))
    {
        Logger.LogInformation($"s3 client, {client}");
        using (var newMemoryStream = new MemoryStream())
        {
            await image.CopyToAsync(newMemoryStream);
            var fileTransferUtility = new TransferUtility(client);
            await fileTransferUtility.UploadAsync(new TransferUtilityUploadRequest
            {
                InputStream = newMemoryStream,
                Key = image.FileName,
                BucketName = "sn-upload-demo",
                ContentType = "image/jpeg"
            });
        }
    }
}

Используя почтальона, я могу загрузить изображение в корзину s3. enter image description here

Но когда я направляюсь в корзину S3 и загружаю это изображение, это изображение выглядит поврежденным или что-то в этом роде, Windows фотография не может открыть этот файл. enter image description here

Я также проверил тип содержимого в сегменте s3, это «image / jpeg». Я не знаю, что я делаю не так. Кто-нибудь может мне помочь, пожалуйста?

...