Вызов функции-члена store () для null enctype = "multipart / form-data" - PullRequest
0 голосов
/ 12 июля 2020

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

хотя я уже использовал enctype = "multipart / form-data", но все еще не могу загрузить данные

результат, если я включаю изображения, будет содержать пустую белую страницу, но если нет, qrud работает плавно

Может ли кто-нибудь указать мне в правильном направлении?

Спасибо.

Функция внутри контроллера

 public function update(ProfilEditRequest $request) {

    $data = $request->all();

    if (isset($data['avatar'])) {
        $isImg = explode(".",  $data['avatar']);

        if ($isImg[sizeof($isImg)-1] == "png" ||
        $isImg[sizeof($isImg)-1] == "jpg" ||
        $isImg[sizeof($isImg)-1] == "jpeg" ||
        $isImg[sizeof($isImg)-1] == "svg"  ) {

            $path = $request->file($data['avatar'])->store('/public/assets/profil-img/'.Auth::user()->id.'/');

            $itemss =DB::table('users')
            ->where('id', Auth::user()->id)
            ->update([
                'email' => $data['email'],
                'name' => $data['name'],
                'img_url' => $data['avatar']
            ]);
        }else {
                return redirect('/profile/');
        }

        $item = user::findOrFail(Auth::user()->id);
        $item->update($data);

        return redirect('/');
        }

        $itemss =DB::table('users')
        ->where('id', Auth::user()->id)
        ->update([
            'email' => $data['email'],
            'name' => $data['name']
        ]);

        return redirect('/sell/');
    }

вот моя html форма

  <form method="GET" action="{{url('profil/update/')}}"
    enctype="multipart/form-data" >
    @csrf  
    <!--input type="number" value=""><br>-->
    <label for="email" >email</label><br>
    <input type="email" size="60" name="email" value="{{Auth::user()->email}}" required>  <br><br>

    <label for="name">nama</label><br>
    <input type="text" size="60" name="name" min="1" value="{{Auth::user()->name}}" required><br><br>

    <label for="avatar">Select new profil picture</label>
    <input type="file"
    name="avatar" id="avatar" width="48" height="48"> <br><br><br>

    <input class="btn btn-primary"type="submit">
    <a href="{{url('/profil/')}}" class="btn btn-secondary">Cancel</a>

1 Ответ

0 голосов
/ 12 июля 2020

для отладки такого случая вы должны отслеживать свой код на каждом шаге, чтобы увидеть, где именно находится ошибка, поэтому вы можете получить результат каждой строки кода примерно как dd($whatever_want_to see)

, если вы были запущены $request->file($data['avatar']), увидим его значение и узнаем, что это моя ошибка

и, как упоминалось в комментариях, попробуйте что-то вроде

 public function update(Request $request) {

    $data = $request->all();

    if (isset($request->file('avatar'))) {
        $isImg = explode(".",  $data['avatar']);

        if ($isImg[sizeof($isImg)-1] == "png" ||
           $isImg[sizeof($isImg)-1] == "jpg" ||
           $isImg[sizeof($isImg)-1] == "jpeg" ||
           $isImg[sizeof($isImg)-1] == "svg"  ) {

                  $path = $request->file('avatar')->store('/public/assets/profil-img/'.Auth::user()->id.'/');

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