Laravel store путь к загруженному изображению с именем файла

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

      $file = Input::file('pic');
$img = Image::make($file);
Response::make($img->encode('jpeg'));
$filepath = $file->getPathName();

Но приведенный выше код приводит к
неправильный путь, как C: \ XAMPP \ TMP \ phpA0C8.tmpBt Я загрузил изображение из моей общей папки laravel. Я перепробовал много кодов, но они не работают. Как мне решить эту проблему? Кто-нибудь может помочь?

0

Решение

Вы должны определить путь с именем файла.

    $FileName            = Input::file('pic')->getClientOriginalName();
$FileDestinationPath = public_path('') .'/folder-name-in-public-folder/'.$FileName;

Или вы можете получить его с помощью метода магазина

$path = Input::file('pic')->store('folder-name');

return $path;

https://laravel.com/docs/5.5/filesystem

0

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

Используйте метод магазина

 $filepath = $request->file('pic')->store('pictures');

Больше Информация

Поместите код перед ответом

0

Используйте метод хранилища файлов laravel и хэш-имя

public function fileUPload(Request $request){
$file = $request->file('pic');
$dir = '/my_images/';
$file->store($dir, 'public_path'); //store images
echo $filePath= $dir . $file->hashName();
}

//config/filesystems.php

return [

///....

'disks' => [

'public_path' => [
'driver' => 'local',
'root' => public_path(),
],
//...
],

];
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector