Большинство типов файлов загружаются правильно (.txt, .zip, .webm, .ogv), но .mp4 и .mp3 всегда терпят неудачу, за этим исключением:
System.IO.IOException: невозможно прочитать данные из транспортного соединения:
Существующее соединение было принудительно закрыт удаленным хостом
Однако:
- Если я переименую файл .mp4 в .ogv, загрузка будет работать.
- Загрузка того же файла .mp4 через Cyberduck работает.
- Java AWS SDK также без проблем загружает тот же файл.
- Таким образом, объект действителен и общедоступный для загрузки — он просто не работает
только в .NET для определенных расширений.
Код: Выделить всё
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.Runtime;
using Amazon.S3;
using Amazon.S3.Transfer;
class Program
{
static async Task Main(string[] args)
{
string accessKey = "YOUR_ACCESS_KEY";
string secretKey = "YOUR_SECRET_KEY";
string bucketName = "my-bucket-name";
string keyName = "folder/file.mp4";
string downloadPath = @"C:\Downloads\file.mp4";
var credentials = new BasicAWSCredentials(accessKey, secretKey);
var config = new AmazonS3Config
{
RegionEndpoint = RegionEndpoint.APSouth1
};
using var s3Client = new AmazonS3Client(credentials, config);
var transferUtility = new TransferUtility(s3Client);
try
{
await transferUtility.DownloadAsync(downloadPath, bucketName, keyName);
Console.WriteLine("Download complete!");
}
catch (Exception ex)
{
Console.WriteLine($"Download failed: {ex.Message}");
}
}
}
- Переименование .mp4 =.ogv = работает
- Загрузка того же файла с помощью Cyberduck = работает
- Загрузка с помощью AWS Java SDK → работает
- Другие типы файлов (.txt, .zip, .ogv, .webm) = работают
- В .NET не работают только .mp4 и .mp3: возможно, есть и другие форматы, которые не работают
Почему AWS S3 .NET SDK не может загрузить файлы .mp4 и .mp3 с ошибкой «соединение принудительно закрыто» и как это исправить это?
Известна ли проблема, связанная с типами MIME, фрагментированной передачей, настройками HTTP/HTTPS или конфигурацией клиента S3 в .NET?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ion-an-exi