簡體   English   中英

Laravel 中的多張圖片上傳

[英]Multiple image upload in laravel

我的控制器中有這段代碼,它可以讓我成功上傳一個文件,我想一次上傳多個文件:

public function store(Request $request, $id) {
    $request->validate([
            'image' => 'required',
    ]);

    $listing = Listing::findOrFail($id);
    $image = new Listingimage();

    if ($request->hasFile('image')) {
        $file = $request->file('image');
        $extention = $file->getClientOriginalExtension();
        $filename = time() . '.' . $extention;
        $file->move('assets/images/listingimages/', $filename);
        $fileOriginalName = $file->getClientOriginalName();
    }

    $image->listing_id = $id;
    $image->image_url = $filename;
    $image->nom_image = $fileOriginalName;
    $image->save();
    return redirect()->back();
}

我也使用這個輸入:

<form action="{{ route('Listingimages.store', $listing->id) }}" method="POST" enctype="multipart/form-data">
    <input type="hidden" name="_method" value="PUT" />
    {{csrf_field()}}
    {{method_field('PUT')}}
    <label>  Insert image</label>
    <input type="file" name="image" id="files" class="form-control" multiple>

那么,如何一次上傳多個文件?

更改輸入名稱

<input type="file" name="image[]" id="files" class="form-control">

控制器

   public function store(Request $request, $id) {
        $request->validate([
            'image' => 'required',
        ]);

        $listing = Listing::findOrFail($id);
        if ($request->hasFile('image')) {
            foreach($request->file('image') as $file)
            {
                $image = new Listingimage();
                $file = $request->file('image');
                $extention = $file->getClientOriginalExtension();
                $filename = time() . '.' . $extention;
                $file->move('assets/images/listingimages/', $filename);
                $fileOriginalName = $file->getClientOriginalName();
                $image->listing_id = $id;
                $image->image_url = $filename;
                $image->nom_image = $fileOriginalName;
                $image->save();
            }

        }
        return redirect()->back();

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM