Я хочу сохранить путь к загруженному изображению пользователя в базе данных. Вот мой код в контроллере,
$file = Input::file('pic');
$img = Image::make($file);
Response::make($img->encode('jpeg'));
$filepath = $file->getPathName();
Но приведенный выше код приводит к
неправильный путь, как C: \ XAMPP \ TMP \ phpA0C8.tmpBt Я загрузил изображение из моей общей папки laravel. Я перепробовал много кодов, но они не работают. Как мне решить эту проблему? Кто-нибудь может помочь?
Вы должны определить путь с именем файла.
$FileName = Input::file('pic')->getClientOriginalName();
$FileDestinationPath = public_path('') .'/folder-name-in-public-folder/'.$FileName;
Или вы можете получить его с помощью метода магазина
$path = Input::file('pic')->store('folder-name');
return $path;
Используйте метод магазина
$filepath = $request->file('pic')->store('pictures');
Больше Информация
Поместите код перед ответом
Используйте метод хранилища файлов 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(),
],
//...
],
];