Laravel Загрузка изображения через API - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь загрузить изображение через API, и оно продолжает выдавать эту ошибку в моем журнале, и изображения не загружаются.

[2020-03-06 16:27:46] local.ERROR: чтение данных Exif не поддерживается этой PHP установкой. {"userId": 10002, "исключение": "[объект] (Intervention \ Image \ Exception \ NotSupportedException (код: 0): чтение данных Exif не поддерживается этой установкой PHP. at / home / zackdemo / public_html / app / vendor / вмешательство / image / src / Intervention / Image / Commands / ExifCommand. php: 22) [stacktrace]

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете кодировать изображение в формате base64 перед отправкой на сервер. PHP есть инструменты для декодирования формата base 64.

Вы можете сделать что-то вроде следующего.

public static function storeBase64($base64Image, $extension, $participant)
{
    $oldImage = $participant->image;

    $image = $base64Image; // your base64 encoded
    $image = str_replace('data:image/' . $extension . ';base64,', '', $image);
    $image = str_replace(' ', '+', $image);
    $imageName = str_random(10) . "-" . $participant->id . '.' . $extension;
    $path = 'storage/participant/profile/' . $imageName;
    Storage::put($path, base64_decode($image));
    $participant->image = $path;
    $participant->save();

    if ($oldImage) {
        // Storage::delete($oldImage);
        Storage::move($oldImage, 'deleted/' . $oldImage  );
    }

    return $path;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...