Как сохранить изображение в базе данных, используя Laravel с базовым URL - PullRequest
0 голосов
/ 31 декабря 2018

Когда я сохраняю изображение в базе данных, оно не загружается с базовым URL.Как можно решить эту проблему в Laravel?

public function uploadimage(Request $request)
{
    if ($request->hasFile('image')) {
        $file = $request->file('image');
        $filename = $file->getClientOriginalName();
        $extension = $file->getClientOriginalExtension();
        $picture = date('His') . '-' . $filename;
        $file->move(public_path('img'), $picture);

        $employee_image = Image::create($request->all());
        $employee_image->image = $filename;
        $employee_image->save();

        return response()->json(['message' => 'Image Uploaded Successfully']);
    }

    return response()->json(['message' => 'Select image first.']);
}

Ответы [ 2 ]

0 голосов
/ 02 января 2019

Попробуйте это ....

 public function uploadimage(Request $request)
{
    $this->validate($request, [
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);
    $employees = new Image($request->input()) ;

     if($file = $request->hasFile('image')) {
        $file = $request->file('image') ;
        $fileName = $file->getClientOriginalName() ;
        $destinationPath = public_path().'/images/' ;
        $file->move($destinationPath,$fileName);
        $employees->image = '/public/images/'.$fileName ;
    }
    $employees->save() ;
   return response()->json(['message' => 'Image Uploaded Successfully']);
}
0 голосов
/ 31 декабря 2018

Функция public_path () не предназначена для использования в браузерах, удобных для браузера, поэтому вместо нее следует использовать \Illuminate\Support\Facades\URL фасад.

например:

$employee_image->image = URL::asset('storage/employees/').$filename;
$employee_image->save();

Источник: Laravel.IO

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...