Próbuję przesłać plik do Lavel, ale nie mogę tego zrobić. Kiedy robię $request->images dostaję ciąg z nazwą mojego pliku. Wykonałem również kilka nieudanych testów takich jak poniżej:

Mój widok:

<input type="file" name="images" class="form-control">
  @if ($errors->has('images'))
    <span class="invalid-feedback"> {{ $errors->first('images') }} </span>
    @endif

  <button type="submit" class="btn btn-primary">Envoyez l'annonce !</button>

Mój kontroler:

public function store(Request $request)
    {
        // $this->validate($request, [
        //     'title' => ['required', 'string', 'max:32'],
        //     'description' => ['required', 'string'],
        //     'price' => ['required'],
        //     'localisation' => ['required'],
        //     'images' => ['required', 'image']
        // ]);
        //dd($request->input('images'));
        if ($request->hasFile('images')) {
            dd('File ok');
        } else {
            dd("File not ok");
        }
        $image= $request->file('images');
        $imageName= Str::random(40);
        $image->move('images/products', $imageName);

        Ad::create([
            'title' => $request->title,
            'description' => $request->description,
            'price' => $request->price,
            'localisation' => $request->localisation,
            'images' => $imageName
        ]);

        return back()->with('success', 'Félicitation, votre annonce à bien été postée.');
    }

Wynik jest zawsze taki sam: File not ok.

0
Florian Kamps 21 listopad 2020, 18:50

1 odpowiedź

Najlepsza odpowiedź

Upewnij się, że dodałeś typ szyfrowania w formularzu

  enctype="multipart/form-data"
1
Mudit Gulgulia 21 listopad 2020, 18:05