我的控制器中有這段代碼,它可以讓我成功上傳一個檔案,我想一次上傳多個檔案:
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>
那么,如何一次上傳多個檔案?
uj5u.com熱心網友回復:
更改輸入名稱
<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();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/355533.html
上一篇:MySQLSELECTinSELECT-clauseorinWHERE-clause為了進一步過濾
下一篇:在多個表上觸發并將其更新為單列
