Ваша проблема прямо здесь:
getObjectResponse.Result.ResponseStream.CopyToAsync(ms);
Кто ждет, когда это Task
закончится?Никто, так что вы возвращаетесь в середине операции.
В целом, код должен быть:
try
{
GetObjectRequest getObjectRequest = new GetObjectRequest();
getObjectRequest.BucketName = Bucketname;
getObjectRequest.Key = Keyname;
var getObjectResponse = await client.GetObjectAsync(getObjectRequest);
await getObjectResponse.ResponseStream.CopyToAsync(ms);
var len = ms.Length;
return File(ms.ToArray(), System.Net.Mime.MediaTypeNames.Application.Pdf, "filename");
}
Обратите внимание на правильное использование await
для асинхронных операций, что вы должныиспользовать, особенно в веб-фреймворке, как ASP.NET Core.