Laravel 5 Не удалось загрузить изображение - PullRequest
0 голосов
/ 07 февраля 2019

Я использую laravel 5.7, и когда я пытаюсь загрузить изображение и вернуть запрос $, я вижу, что изображение загружено, но когда я пытаюсь сохранить файл в своей общей папке, это показывает, что изображение не удалось загрузить.В чем проблема.Я искал в stackoverflow для решения.Я получил так много.Но ни один из них не работал для меня.

код метода моего магазина

public function store(Request $request)
{
    $this->validate($request, [
       'title'   =>  'required|min:10|max:200|unique:posts',
       'image'  =>  'image|mimes:jpg,png,gif,jpeg,svg|max:3072',
        'body'  =>  'required',
    ]);

    $post = new Post;
    $post->title = $request->title;
    $post->user_id =  Auth::id();
    $post->slug = str_slug($request->title);
    $post->body = $request->body;
    $post->category_id = $request->category_id;

    if ($request->status == '1'){
        $post->status = $request->status;
    }

    $image = $request->file('image');

    if ($image){
        $image_name = str_random(20);
        $ext = $image->getClientOriginalExtension();
        $image_fullname = $image_name . '.' . $ext;
        $upload_path = 'uploads/post';
        $image_url = $upload_path . $image_fullname;
        $upload = $image->move(public_path($upload_path), $image_fullname);
        if ($upload){
            $post->image = $image_url;
        }
    }

    $post->save();
    return redirect()->route('admin.post.index')->with('success', 'Post created');
}

Коды форм -

<form action="{{route('admin.post.store')}}" method="post" enctype="multipart/form-data">

@ csrf

 <textarea name="body"></textarea>
 <input type="text" name="title" class="form-control" id="titleinput" value="{{old('title')}}">

 <select class="form-control" name="category_id" id="category">
    <option value="{{$cat->id}}">{{$cat->name}}</option>
</select>

<input type="file" name="image" id="image">
<input type="checkbox" name="status" value="1"> Publish ?
<input type="submit" name="submit">

1 Ответ

0 голосов
/ 07 февраля 2019

если у вас есть правильные права доступа к папке, то весь код выглядит нормально, только переменная $ upload_path path добавляет обратную косую черту как $ upload_path = 'uploads / post';

...