делегат без декодирования для этого формата изображения — Imagick

$path=getcwd();
$rawstring = $_POST['img_data'];
$malestr = str_replace("data:image/jpeg;base64,", "", $rawstring);
$img = new Imagick();
$img->readImageBlob($malestr);
$img->writeImage($path."/media/import/new.jpg");

Это мои функции Imagick, я пытаюсь написать изображение, используя данные в кодировке Base64. Его ошибка броска
,

«нет делегата декодирования для этого формата изображения»

2

Решение

Согласно инструкции, Imagick::readImageBlob нужна двоичная строка, в то время как вы предоставляете ей строку в кодировке base64. Декодировать строку сначала с помощью функции base64_decode и дать результат readImageBlob,

// your code above
$malestr = str_replace("data:image/jpeg;base64,", "", $rawstring);

$malestr = base64_decode($malestr);
if (!$malestr) die('Unable to decode the string');

$img = new Imagick();
$img->readImageBlob($malestr);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]