duange051858 2017-03-01 09:18
浏览 76
已采纳

以文件名的形式访问存储在数据库中的多个图像,但存储在laravel的公共文件夹中

I needed to upload multiple image as an array and for that i set up my controller like this:

   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');


    }

And my route is:

     Route::resource('/details','DetailController');

Doing so I have become to able store the selected images for upload form form in public folder ie, Public/image. But only one image is stored in database like this.Database image . Is it okay if only one among the selected images stored in DB and rest are stored in public. If okay then how can i access/display all the images in the show page. Thanks.

  • 写回答

1条回答 默认 最新

  • duandu8202 2017-03-01 16:41
    关注

    You can try this :

     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');
     }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)