Попытка получить имя загруженного изображения - PullRequest
0 голосов
/ 17 октября 2019

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

, т. Е. Если имя изображения go.jpg, оно должно быть сохранено как go.jpg, а не случайносгенерированные числа

Вот мой контроллер

private function storeImage($news)
{
    if (request()->has('image')){
        $news->update([
            'image' => request()->image->store('uploads', 'public'),
        ]);

        $image = Image::make(public_path('storage/'. $news->image))->resize(600, 600);
        $image->save();
    }
}

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Вы можете использовать этот метод: getClientOriginalName()

if ($request->hasFile('image')) {
    return $request->file('image')->getClientOriginalName();
} else {
    return 'no file!'
}

http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html#method_getClientOriginalName

0 голосов
/ 17 октября 2019

getClientOriginalName используйте этот метод.

use Illuminate\Support\Facades\Input;

private function storeImage($news)
{
    if (request()->has('image')){
        $file = Input::file('image');
        $img= $file->getClientOriginalName().'.'.$file->getClientOriginalExtension();
        $news->update([
            'image' => $img,
        ]);

        $image = Image::make(public_path('storage/'. $news->image))- 
      >resize(600, 600);
      $image->save();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...