Я использую PHP SDK для загрузки локального файла (а не S3) для анализа в AWS Rekognition. Однако изображение blob не будет работать, и я получаю сообщение: InvalidImageFormatException: "Invalid image encoding"
.AWS Rekognition PHP SDK дает неверную ошибку кодирования изображения
Я пробовал несколько изображений (the docs say JPEGs and PNGs are accepted), но никто не работает.
Мой код:
$client = new RekognitionClient($credentials);
$im = file_get_contents('/app/image1.png');
$imdata = base64_encode($im);
$result = $client->detectLabels(
[
'Image' => [
'Bytes' => $imdata,
]
]
);
Am Я кодирующая его правильно? docs весьма расплывчатые.
Я нашел SO вопросы о «No Image Content», но о некорректном формате.
Любые идеи? Благодаря!
Убедитесь, что base64_encode() не возвращает FALSE. Кроме того, попробуйте старый массив style: detectLabels (array ('Image' => array ('Bytes' => $ imdata))) –
@SergeyKovalev Yep, 'base64_encode()' возвращает данные как ожидалось и, к сожалению, меняет массив стиль тоже не работал:/ – samiles
Что делать, если вы пропустите 'base64_encode()' part? –