Согласно документам , contentType является необязательным и будет пытаться определить правильный mime-тип на основе расширения файла . Однако он никогда не угадывал тип mime и всегда по умолчанию использовал application / octet-stream
Вот мой код:
$s3 = new AmazonS3();
$opt = array( 'fileUpload' => $_FILES['file']['tmp_name'],
'storage' => Amazons3::STORAGE_REDUCED);
$r = $s3->create_object('mybucket', $_FILES['file']['name'], $opt);
Вот скриншот моей консоли AWS:
Как вы на самом деле автоматически устанавливаете правильный Content Type без установки опции contentType, или вам действительно нужно устанавливать его вручную?
Дополнительная информация: если я загружаю файл с консоли (который я изначально загрузил через SDK), а затем загружаю его снова с помощью консоли, установлен правильный Content-Type (например: image / gif для файлов GIF вместо application / octet-stream)