У меня есть. Net Core 3.1 Web API, который загружает объект (PDF) из Amazon S3 на диск, используя библиотеку AWS SDK.
using Amazon.S3;
using Amazon.S3.Model;
using System.IO;
private void DownloadObject()
{
BasicAWSCredentials awsCredentials = new Amazon.Runtime.BasicAWSCredentials("MyAccessKey", "MySecretKey");
IAmazonS3 client = new Amazon.S3.AmazonS3Client(awsCredentials, Amazon.RegionEndpoint.USEast1);
GetObjectRequest request = new GetObjectRequest
{
BucketName = "mybucket",
Key = "test.pdf"
};
using (GetObjectResponse response = await client.GetObjectAsync(request))
{
using (Stream responseStream = response.ResponseStream)
{
using (StreamReader reader = new StreamReader(responseStream))
{
string responseBody = await reader.ReadToEndAsync();
File.WriteAllText("C:\\test.pdf", responseBody);
}
}
}
}
При загрузке PDF, размер файла неправильный (слишком большой), и если я открою PDF, все страницы будут пустыми. Это происходит и с другими типами файлов. Например, если я загружаю JPEG, я не могу открыть его - он поврежден. Это проблема с кодировкой?