[英]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.