我需要将多个图像作为数组上传,为此我设置了这样的控制器:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Detail;
class DetailController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
$data=Detail::all();
return view('details.index',compact('data'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
$data=Detail::all();
return view('details.create',compact('data'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(request $request) {
$input=$request->all();
if($files=$request->file('images')){
foreach($files as $file){
$name=$file->getClientOriginalName();
$file->move('image',$name);
$input['images']=$name;
}
}
Detail::create($input);
return redirect('/details');
}
我的路线是:
Route::resource('/details','DetailController');
这样做我已经能够将选定的图像存储在公共文件夹中,即Public/image。但是只有一张图像像这样存储在数据库中。数据库图像。如果存储在 DB 中的选定图像中只有一个被公开存储,是否可以。如果可以,那么我如何访问/显示显示页面中的所有图像。谢谢。
你可以试试这个:
public function store(request $request) {
$input=$request->all();
$images=array();
if($files=$request->file('images')){
foreach($files as $file){
$name=$file->getClientOriginalName();
$file->move('image',$name);
$images[]=$name;
}
}
/*Insert your data*/
foreach($images as $image){
Detail::insert( [
'image1'=> $image,
'description' =>$input['description'],
'price' =>$input['price'],
'address' =>$input['address'],
'location' =>$input['location']
]);
}
return redirect('/details');
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句