【问题标题】:Call to a member function move() on null in laravel在 laravel 中调用 null 上的成员函数 move()
【发布时间】:2019-11-22 19:58:09
【问题描述】:

我是 laravel 的新手。上传文件时出现以下错误:

在 null 上调用成员函数 move()

$file = $request->file('img');
$destinationPath = base_path('\public\img');
$file->move($destinationPath . $file->getClientOriginalName());

$dealer = new Dealer([
    'firstname' => $request->get('firstname'),
    'lastname'  => $request->get('lastname'),
    'email'     => $request->get('email'),
    'phoneno'   => $request->get('phoneno'),
    'img'       => $request->get('img'),
]);

【问题讨论】:

  • $dealer = new Dealer([ 'firstname' => $request->get('firstname'), 'lastname' => $request->get('lastname'), 'email' => $request->get('email'), 'phoneno' => $request->get('phoneno'), 'img' => $request->get('img') ]);
  • 你最后用adung "\" 试过了吗base_path('\public\img\');
  • 此错误表示$file 为空,这意味着img 未正确上传。请您出示您用于上传图片的表格。如果您在此过程中使用任何 javascript,请您也包括在内。
  • 嗨,Ross Wilson,我没有使用 js
  • 图像将被存储但它不会移动...我的根文件夹 (\public\img')

标签: laravel file-upload


【解决方案1】:

你为什么不这样试试呢?

 if ($request->hasFile('img')) {
        $image = $request->file('img');
        $teaser_image = time().'.'.$image->getClientOriginalExtension();
        $destinationPath = public_path('/images');
        $image->move($destinationPath, $img);
            } else {
dd('Request Has No File');
}

对于您的商店:

 $dialer = Dialer::create([
 'firstname' => $request->get('firstname'),
    'lastname'  => $request->get('lastname'),
    'email'     => $request->get('email'),
    'phoneno'   => $request->get('phoneno'),
    'img'       => $request->get('img') ?? null,
]);

您可以删除 ??null 以确保您获得图像并将其存储在数据库中,但您甚至可以放置它以使其成为用户插入或不插入 img 的可选。希望这会有所帮助

编辑

根据您的评论,我猜您可能有 2 个问题: 第一个确保您拥有并输入名为“img”的发送图像,第二个是确保将多编码类型添加到您的表单中,以便表单可以发送如下图像:

 enctype="multipart/form-data"

所以你的表格应该是这样的:

<form action="someRoute" method="post" enctype="multipart/form-data">

【讨论】:

  • 其他部分只运行
  • $dialer 部分没有路径
  • @mydeen 这意味着你不发送图像检查我更新的答案
  • 你可以删除 $dialer 也很好,我只是把它放在那里返回创建的对象并显示给用户
【解决方案2】:
 if ($request->hasFile('img')) {
        $image = $request->file('img');
       //  print_r($image);
        $image_name = time().'.'.$image->getClientOriginalExtension();
       //  echo $image;
       //  exit(0);
        $destinationPath = base_path('Uploads');
        $image->move($destinationPath, $image_name);
     $dealer = new Dealer([
                 'firstname'      =>  $request->get('firstname'),
                 'lastname'       =>  $request->get('lastname'),
                 'email'          =>  $request->get('email'),
                 'phoneno'        =>  $request->get('phoneno'),
                 'img'            =>  $image_name,
             ]);
             $dealer->save();
             Session::flash('msg','Data Added successfully');
             Session::flash('type','success');
             return redirect('dealer-master');
        //         //  echo $image;
        //         //  exit(0);
        //          $destinationPath = base_path('  Uploads');
        //          $image->move($destinationPath, $image_name);
      } 
        else {                          
        Session::flash('msg','Please Check the data');
        Session::flash('type','fail');
        return redirect('dealer-master');
        // echo $request;
         }

我发现我的错误这很好用谢谢你们...!

【讨论】:

    猜你喜欢
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2022-10-16
    • 1970-01-01
    • 2016-09-04
    • 2016-06-29
    • 2018-04-03
    相关资源
    最近更新 更多