Ошибка загрузки файла Laravel 403 Запрещена на сервере

#file-upload #laravel-8

Вопрос:

Я использую Laravel 8 для загрузки изображения в свою панель администратора, в моем локальном нет проблем. Но после того, как я перейду на сервер. Я когда-нибудь получу 403 запрещенных ошибки, как показано на рисунке ниже.

введите описание изображения здесь

Изображение, которое я пытаюсь загрузить, загружено с этого link(https://cdn.happyfresh.com/t/s_wide,c_fit/spree/images/attachments/f96195665f9951598773a609496e93af5e275d50-original.jpg), размер изображения составляет всего несколько сотен КБ, но я получаю ошибку 403 «Запрещено». Если я открою «paint» и сохраню его, он может быть успешно загружен. Почему это произойдет?

Вот мой файл с кодом лезвия:

          <form action="{{route('admin.banners.store')}}" method="POST" enctype="multipart/form-data">
            @csrf
            <div class="card-body">
              <div class="form-group">
                <label>Title</label>
                <input type="text" class="form-control @error('title') is-invalid @enderror" value="{{ old('title')}}" id="title" name="title" placeholder="Title">
                @error('title')
                    <div class="text-danger">{{ $message }}</div>
                @enderror
              </div>
              <div class="form-group">
                <label>Ordering</label>
                <input type="number" class="form-control @error('ordering') is-invalid @enderror" value="{{ old('ordering')}}" id="ordering" name="ordering" placeholder="eg: 1, 10, -5, - 23">
                @error('ordering')
                    <div class="text-danger">{{ $message }}</div>
                @enderror
              </div>
              <div class="form-group">
                <label class="form-label" for="customFile">Image(jpg, png, jpeg)</label>
                <input type="file" accept="image/*" class="form-control-file @error('image') is-invalid @enderror" name="image">
                @error('image')
                    <div class="text-danger">{{ $message }}</div>
                @enderror
              </div>
            </div>
            <!-- /.card-body -->

            <div class="card-footer">
              <button type="submit" class="btn btn-primary">Create</button>
            </div>
          </form>
 

Вот мой код контроллера:

 public function store(Request $request)
{
  $request->validate([
        'title' => 'required',
        'ordering' => 'required|integer',
        'image' => 'required|mimes:jpg,png,jpeg|max:5048'
    ]);

  $new_banner = Banner::create([
                      'title' => $request->title,
                      'image_path' => parent::store_image(
                        folder: 'banners',
                        image: $request->image
                      ),
                      'ordering' => $request->ordering
                  ]);

  return redirect(route('admin.banners.index'))->with('message', 'The new banner has been created');
}