Поверните и сохраните фотографию в laravel - PullRequest
1 голос
/ 27 мая 2019

Я хочу загрузить фотографии на сервер. Но перед этим я хочу повернуть это изображение. Мой код, как показано ниже,

    $photo = $request->file($field);
    $temp = imagecreatefromjpeg($photo);
    $rotated = imagerotate($temp, 270, 0);
    $extension = $photo->getClientOriginalExtension();
    $flieNametoStore = time()."___".explode('.',$photo->getClientOriginalName())[0].'.'.$extension;
    Storage::disk('public')->put($flieNametoStore,  $rotated); 

Это не работает. Это показывает ошибку как supplied resource is not a valid stream resource. Я также попробовал Storage::disk('public')->put($flieNametoStore, File::get($rotated));, но все равно это не работает.

Итак, у меня два вопроса. Что я могу сделать, чтобы достичь своей цели? (повернуть и сохранить на сервере.) Также я использовал функцию imagecreatefromjpeg. Тем не менее, я хочу выполнить тот же код для другого типа файла. (Все типы поддерживаются проверкой изображения с помощью laravel.)

Я искал в SO и нашел несколько похожих вопросов. Тем не менее, эти решения не дают мне желаемого результата.

1 Ответ

1 голос
/ 27 мая 2019

используйте функцию imagejpeg для сохранения фотографии

imagerotate возвращает тип ресурса gd, а не ресурс ...

$photo           = request()->file($field);
$temp            = imagecreatefromjpeg($photo);
$rotated         = imagerotate($temp, 270, 0);
$extension       = $photo->getClientOriginalExtension();
$flieNametoStore = time() . "___" . explode('.', $photo->getClientOriginalName())[0] . '.' . $extension;
imagejpeg($rotated,  $flieNametoStore);

или

ob_start();
imagejpeg($rotated);
$rotated = ob_get_contents();
ob_clean();
Storage::disk('public')->put($flieNametoStore, $rotated);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...