Сохраните изображение в базе данных October CMS после изменения его размера с помощью пакета вмешательства с изображениями

Я пытаюсь сохранить аватар пользователя в базе данных October CMS после изменения его размера с помощью пакета изображений вмешательства. Я использую этот код:

if (Input::hasFile('avatar')) {
    $file= $user->avatar;
    $filenamewithextension = $file->getClientOriginalName();
    //get filename without extension
    $filename = pathinfo($filenamewithextension, PATHINFO_FILENAME);
    //get file extension
    $extension = $file->getClientOriginalExtension();
    //filename to store
    $filenametostore = $filename.'_'.uniqid().'.'.$extension;
    Storage::put('public/profile_images/'. $filenametostore, fopen($file, 'r+'));
    Storage::put('public/profile_images/thumbnail/'. $filenametostore, fopen($file, 'r+'));
    //Resize image here
    $thumbnailpath ='storage/app/public/profile_images/thumbnail/'.$filenametostore;
    $img = Image::make($file->getRealPath());
    $img->crop(request('w'), request('h'), request('x1'), request('y1'));
    $img->save($thumbnailpath);
    $user->avatar=$filenametostore;
}

но я получаю сообщение об ошибке:

Call to undefined method October\Rain\Database\QueryBuilder::getClientOriginalName()

Кто-нибудь может мне помочь?!

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
199
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы вызываете getClientOriginalName () не для того объекта, попробуйте изменить следующие строки в коде на это:

if (Input::hasFile('avatar')) {
    $file = Input::file('avatar');
    /* ... */
    Storage::put('public/profile_images/'. $filenametostore, fopen($file->getRealPath(), 'r+'));
    Storage::put('public/profile_images/thumbnail/'. $filenametostore, fopen($file->getRealPath(), 'r+'));
    /* ... */
}

спасибо, да, это решение этой ошибки, но снова возникает другая проблема: Аватар должен быть изображением

Fati Alami 26.10.2018 14:09

Другие вопросы по теме