簡體   English   中英

Laravel集體表單,如何上傳多張圖片?

[英]Laravel collective form, how to upload multiple images?

我不想更改我的表單以一次上傳多個圖像,這就是我目前擁有的,

我的表格的一部分:

{!! Form::open(['action' => 'PostsController@store', 'method' => 'POST', 'enctype' => 'multipart/form-data']) !!}

{{Form::file('stock_image')}}

我的控制器:

if($request->hasFile('stock_image')){
        $filenameWithExt = $request->file('stock_image')->getClientOriginalName();
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        $extension = $request->file('stock_image')->getClientOriginalExtension();
        $fileNameToStore= $filename.'_'.time().'.'.$extension;
        $path = $request->file('stock_image')->storeAs('public/images', $fileNameToStore);
    } else {
        $fileNameToStore = 'noimage.jpg';
    }

感謝您的幫助!

對於文件助手,您應該使用未轉義的渲染:

{!! Form::file('stock_image') !!}

如果您想上傳多個文件,您只需使用多個輸入字段。

{!! Form::file('stock_image_1') !!}
{!! Form::file('stock_image_2') !!}
{!! Form::file('stock_image_3') !!}

如果您希望它們在數組中,您可以使用以下語法:

{!! Form::file('stock_image[]') !!}
{!! Form::file('stock_image[]') !!}
{!! Form::file('stock_image[]') !!}

如果要處理最后一個,可以執行以下操作:

另一個提示:您可以對Form::open()方法使用'files' => true選項,而不是手動設置 enctype。 這是一個輔助選項。

您可以為文件輸入設置multiple屬性,以便用戶能夠一次選擇多個文件,例如

{!! Form::file('stock_image[]', ['multiple' => true]) !!}

然后從輸入中獲取您的stock_image ,檢查它是否是數組並將您的文件保存代碼塊放入foreach

不要忘記在最后用[]命名您的文件輸入

暫無
暫無

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

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