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 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题