首页 > 解决方案 > 如何在laravel的图片上传中添加uniqid

问题描述

我有一个在表中插入数据的功能,这个数据包括 image/file 。我认为我的表单没有问题,但是在我添加了这个 uniqid() 之后,它无法提交,并出现错误“调用成员函数 getClientOriginalExtension() on null”

 public function store_pelatihan(Request $request)
{

    $this->validate($request,[
        // 'title'       => 'required|min:5',
        // 'description' => 'required|min:5|max:14'
    ] );

    if($request->hasfile('file_scan'))

    {   
    $file = $request->file('file_scan');
        $name=$file->getClientOriginalName();
        $extension = $request->image->getClientOriginalExtension(); 
        $fileName = $file.'.'.uniqid().'.'.$extension; 
        $file->move(public_path().'/files/', $fileName);  
        $data = $fileName;  
    }


    $users = new Master_seminar_pelatihan;
    $users->user_id              = $request->user_id ;
    $users->nama_pelatihan       = $request->nama_pelatihan ;
    $users->nomor_pelatihan      = $request->nomor_pelatihan ;
    $users->tanggal              = $request->tanggal ;
    $users->uraian               = $request->uraian ;
    $users->tempat               = $request->tempat ;
    $users->file_scan            = $data;

    dd($data);
    // $users->save();
    // return redirect ('pelatihan')->with('success', 'Input Succes');


}

以前,我正在运行此代码并且它运行时没有错误:

$extension = $request->image->getClientOriginalExtension(); 

$fileName = $file.'.'.uniqid().'.'.$extension; 

标签: laravel

解决方案


改变这一行:

$request->image->getClientOriginalExtension()

至 :

$file->getClientOriginalExtension()

推荐阅读